fingmcp服务器
Fing本地API的MCP服务器。它暴露了Fing网络设备和存在 使用Streamable HTTP和SSE通过HTTP将数据传输到MCP客户端。
此服务器设计为在 PC-FEDERICO,其中Fing Agent暴露 上的本地API http://localhost:49090 并将其认证令牌存储在:
%APPDATA%\FingAgent\conf\localapi\fingagent.json
它在我的机器上是如何工作的
启动服务器时:
- 从读取Fing本地API配置
%APPDATA%\FingAgent\conf\localapi\fingagent.json
- 提取真实
port和auth价值观 - 直接调用本地API端点:
- /devices?auth=... - /people?auth=...
在Windows上,它使用 curl.exe 作为本地交通工具,因为Fing Agent返回 接受的HTTP响应 curl.exe 但可能会破坏Node的原生HTTP 客户端解析。
需求
- Node.js 18+
- Fing Desktop或Fing Agent在同一台计算机上运行
- Fing本地API已启用
设置
npm install
npm run build
npm start如果服务器启动于 PC-FEDERICO,不需要手动设置API密钥 只要Fing代理已经配置并且本地API文件存在。
环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
FING_LOCALAPI_AUTH | auto-discovered | 显式Fing本地API身份验证令牌 |
FING_API_KEY | 别名 FING_LOCALAPI_AUTH | 向后兼容的身份验证令牌env var |
FING_LOCALAPI_PORT | 自动发现或 49090 | 覆盖本地API端口 |
FING_BASE_URL | 自动发现或 http://localhost:49090 | 覆盖Fing本地API基础URL |
FING_LOCALAPI_CONFIG | %APPDATA%\FingAgent\conf\localapi\fingagent.json | 覆盖Fing本地API配置文件路径 |
PORT | 3010 | 此MCP服务器使用的端口 |
笔记:
- 旧的
/1上的Fing代理本地API未使用后缀PC-FEDERICO. - 如果同时存在env变量和本地配置,则env变量获胜。
在开发中运行
npm run dev端点
GET /mcp
SSE端点 mcp-remote
POST /mcp/message
SSE消息端点 mcp-remote
POST /mcp
本机流式HTTP MCP端点
GET /health
健康检查
MCP工具
fing_get_devices
返回Fing Agent发现的设备。
论据:
filter_state:UP|DOWN|ALLresponse_format:text|json
fing_get_people
返回在Fing中配置的人员的状态信息。
论据:
filter_state:ONLINE|OFFLINE|ALLresponse_format:text|json
克劳德桌面/mcp遥控器
示例 claude_desktop_config.json 条目:
{
"mcpServers": {
"fing": {
"command": "cmd",
"args": [
"/c",
"npx",
"-y",
"mcp-remote",
"http://PC-FEDERICO:3010/mcp"
]
}
}
}如果通过Tailscale或其他远程网络暴露服务器,请更换 具有可访问IP或DNS名称的主机 PC-FEDERICO.
故障排除
Unauthorized: invalid Fing local API auth token
本地API身份验证令牌错误或已过期。
Fing agent service is unavailable
Fing Desktop或Fing Agent未运行。
curl.exe is required on Windows
服务器在没有内置curl可执行文件的Windows上运行 可用 PATH.
许可证
MIT。看 许可证.
