Token导航 LogoToken导航TokenDH.com
Lunet MCP SSE logo
AI代理stdio官方级别未说明来源级核验

Lunet MCP SSE

MCP Server

一个基于Lunet框架的最小化MCP服务器,通过SSE传输演示Tavily网络搜索,适用于资源受限环境。

工具数

1

提示词数

0

GitHub Stars

1

资源数

0
Docker跨平台SSE传输

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

lua-lunet

提供方

lua-lunet

最后核验

2026/5/17 20:21

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

docker run -d --name mcp-server -p 8080:8080 \

详细介绍

吕内特·麦克普塞

![Lunet v0.1.2](https://github.com/lua-lunet/lunet/releases/tag/v0.1.2)

一个最小的MCP(模型上下文协议)服务器,演示了通过SSE传输进行Tavily网络搜索,该服务器基于 吕内 框架。

为什么是Lunet?

MCP服务器通常部署为sidecar进程或资源受限的环境中。该实施优先考虑:

  • 占地面积最小 -7 MB运行时内存,而Node/Bun/Python为14-28 MB
  • 图像尺寸小 -171 MB Docker镜像与367-420 MB的替代品
  • 稳定的依赖关系 -libuv和LuaJIT是成熟的、经过实战测试的库,支持Debian LTS
  • 无依赖关系变动 -没有npm/pip生态系统开销或持续的安全补丁

性能比较

./compare.sh 为了重现这些基准:

实现Docker镜像运行时内存
吕内特·麦克普塞171 MB7 MB
tavily mcp(Node.js)420 MB18 MB
大容量微控制器382 MB14 MB
FastMCP(Python)367 MB28 MB

lunet mcp sse使用 内存减少2.5倍 与Node.js相比, 减少2倍 比本,以及 减少4倍 比Python。

特性

  • MCP 2024-11-05 协议支持
  • SSE运输 用于实时通信
  • 塔维利搜索 整合
  • 内存效率高 (Docker中约7 MB RSS,约2 MB原生RSS)
  • 零成本追踪 用于调试(禁用时无开销)
  • 跨平台 二进制文件(Linux amd64/arm64、macOS arm64、Windows amd64)

下载

预构建的二进制文件可从以下网址获得 :

平台存档
Linux(amd64)lunet-mcp-sse-linux-amd64.tar.gz
Linux(arm64)lunet-mcp-sse-linux-arm64.tar.gz
macOS(arm64)lunet-mcp-sse-macos.tar.gz
Windows(amd64)lunet-mcp-sse-windows-amd64.zip

跑步

macOS(arm64)

# Download and extract
curl -L -o lunet-mcp-sse-macos.tar.gz \
  https://github.com/lua-lunet/lunet-mcp-sse/releases/download/nightly/lunet-mcp-sse-macos.tar.gz
tar -xzf lunet-mcp-sse-macos.tar.gz

# Set up API key
echo "TAVILY_API_KEY=your_key_here" > .env

# Run
./run.sh

Linux(Debian/Ubuntu)

# Install dependencies
sudo apt-get update
sudo apt-get install -y libuv1 libluajit-5.1-2 curl

# Download and extract (use arm64 or amd64 as appropriate)
curl -L -o lunet-mcp-sse-linux-arm64.tar.gz \
  https://github.com/lua-lunet/lunet-mcp-sse/releases/download/nightly/lunet-mcp-sse-linux-arm64.tar.gz
tar -xzf lunet-mcp-sse-linux-arm64.tar.gz

# Set up API key
echo "TAVILY_API_KEY=your_key_here" > .env

# Run
./run.sh

Windows(amd64)

# Download and extract the zip from GitHub releases
# Then in the extracted directory:

# Set up API key
echo TAVILY_API_KEY=your_key_here > .env

# Run
.\run.bat

使用Docker进行测试

您可以在Docker容器中运行Linux二进制文件。这对于在macOS或其他平台上进行测试非常有用。

# Start a container with the binary mounted
docker run -d --name mcp-server -p 8080:8080 \
  -v /path/to/extracted/linux-app:/app -w /app \
  debian:trixie-slim \
  /bin/bash -c 'apt-get update -qq && apt-get install -y -qq libuv1 libluajit-5.1-2 curl >/dev/null 2>&1 && export $(cat .env | xargs) && HOST=0.0.0.0 ./bin/lunet --dangerously-skip-loopback-restriction app/main.lua'

# Test
curl http://localhost:8080/

# Stop
docker stop mcp-server && docker rm mcp-server

macOS与Colima

在macOS上,使用 大肠杆菌 要运行Linux arm64容器:

# Start Colima
colima start

# Download and extract the Linux arm64 build
curl -L -o lunet-mcp-sse-linux-arm64.tar.gz \
  https://github.com/lua-lunet/lunet-mcp-sse/releases/download/nightly/lunet-mcp-sse-linux-arm64.tar.gz
mkdir -p linux-app
tar -xzf lunet-mcp-sse-linux-arm64.tar.gz -C linux-app

# Copy into Colima VM
colima ssh -- mkdir -p /tmp/testapp
tar -czf - -C linux-app . | colima ssh -- tar -xzf - -C /tmp/testapp

# Copy your .env
echo "TAVILY_API_KEY=your_key_here" | colima ssh -- tee /tmp/testapp/.env

# Run the server
docker run -d --name mcp-server -p 8080:8080 \
  -v /tmp/testapp:/app -w /app \
  debian:trixie-slim \
  /bin/bash -c 'apt-get update -qq && apt-get install -y -qq libuv1 libluajit-5.1-2 curl >/dev/null 2>&1 && export $(cat .env | xargs) && HOST=0.0.0.0 ./bin/lunet --dangerously-skip-loopback-restriction app/main.lua'

# Test from macOS
curl http://localhost:8080/
./test_tavily.sh

# Cleanup
docker stop mcp-server && docker rm mcp-server
colima stop

端点

方法路径描述
得到/服务器信息(JSON)
得到/sseSSE流(创建会话)
职位/message?session=发送JSON-RPC消息

测试

# Check server info
curl http://localhost:8080/

# Run Tavily search test
./test_tavily.sh

# Connect to SSE stream manually
curl -N http://localhost:8080/sse

MCP协议流

  1. 客户GET /sse 建立SSE连接
  2. 服务器发送 endpoint 具有会话ID的事件
  3. 客户端POST JSON-RPC消息到 /message?session=
  4. 服务器通过GET连接上的SSE事件进行响应

此存储库中没有HTTPS终止支持。 如果你想经营一家面向公众的MCP SSE,你可以轻而易举 将此代码与nginx一起部署为私有云上的sidecar else 云负载均衡器后面的网络。这就是Unix管道方式 专业工具之间的数据。它为您提供了“QMail安全模型” 其中交易协议攻击与任何 商业逻辑。

可用工具

艰难的搜索

使用Tavily AI搜索引擎搜索网络。

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "tavily-search",
    "arguments": {
      "query": "latest AI news",
      "max_results": 5
    }
  }
}

环境变量

变量默认值描述
TAVILY_API_KEY-Tavily API密钥(必需)
PORT8080服务器端口
HOST127.0.0.1绑定地址(Docker使用0.0.0.0)
MCP_TRACEoff跟踪级别(关闭/错误/警告/信息/调试/跟踪)
MCP_TRACE_FILEstderr跟踪输出文件

从源头构建

# Clone the lua-lunet org repos (lunet-mcp-sse requires sibling lunet repo)
mkdir lua-lunet && cd lua-lunet
git clone https://github.com/lua-lunet/lunet.git
git clone https://github.com/lua-lunet/lunet-mcp-sse.git

# Build lunet with xmake (canonical release profile)
cd lunet
xmake f -m release --lunet_trace=n --lunet_verbose_trace=n -y
xmake build
xmake build lunet-sqlite3
cd ..

# Run
cd lunet-mcp-sse
echo "TAVILY_API_KEY=your_key_here" > .env
make run

零成本追踪

该服务器包括一个零成本跟踪系统,该系统具有 禁用时无开销.

# No tracing (production, zero overhead)
./run.sh

# Verbose startup - show server banner
./run.sh -v
# or: ./run.sh --verbose

# Info level - see sessions and tool calls
MCP_TRACE=info ./run.sh

# Debug level - see HTTP requests and MCP methods
MCP_TRACE=debug ./run.sh

基准测试

将内存和映像大小与其他MCP实现进行比较:

./compare.sh

该测试针对:

  • tavily-mcp (Node.js通过npx)
  • tavily-mcp (Bun)
  • FastMCP(Python)

许可证

麻省理工学院

目录标签

目录标签

Docker跨平台SSE传输Lua本地部署MCP协议Tavily搜索高效内存

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

api-key

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

1

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdioapi-key部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP