Fledge MCP Server

Fledge MCP Server

将 Fledge 功能连接到 Cursor AI,从而允许通过自然语言命令与 Fledge 实例进行交互。

Category
访问服务器

README

Fledge MCP 服务器

这是一个模型上下文协议 (MCP) 服务器,它将 Fledge 功能连接到 Cursor AI,允许 AI 通过自然语言命令与 Fledge 实例交互。

前提条件

  • 本地安装或可通过 API 访问的 Fledge (默认: http://localhost:8081)
  • 已安装 Cursor AI
  • Python 3.8+

安装

  1. 克隆此存储库:
git clone https://github.com/Krupalp525/fledge-mcp.git
cd fledge-mcp
  1. 安装依赖项:
pip install -r requirements.txt

运行服务器

  1. 确保 Fledge 正在运行:
fledge start
  1. 启动 MCP 服务器:
python mcp_server.py

对于使用 API 密钥认证的安全操作:

python secure_mcp_server.py
  1. 通过访问健康检查端点验证它是否正常工作:
curl http://localhost:8082/health

您应该收到 "Fledge MCP Server is running" 作为响应。

连接到 Cursor

  1. 在 Cursor 中,转到 Settings > MCP Servers

  2. 添加新服务器:

    • URL: http://localhost:8082/tools
    • Tools file: 上传包含的 tools.json 或指向其本地路径
  3. 对于安全服务器,使用启动安全服务器时生成的 api_key.txt 文件中的值配置 "X-API-Key" 标头。

  4. 测试它: 打开 Cursor 的 Composer (Ctrl+I),键入 "Check if Fledge API is reachable",AI 应该调用 validate_api_connection 工具。

可用工具

数据访问和管理

  1. get_sensor_data: 从 Fledge 获取传感器数据,可以选择按时间范围和限制进行过滤
  2. list_sensors: 列出 Fledge 中所有可用的传感器
  3. ingest_test_data: 将测试数据摄取到 Fledge 中,可以选择批量计数

服务控制

  1. get_service_status: 获取所有 Fledge 服务的状态
  2. start_stop_service: 按类型启动或停止 Fledge 服务
  3. update_config: 更新 Fledge 配置参数

前端代码生成

  1. generate_ui_component: 为 Fledge 数据可视化生成 React 组件
  2. fetch_sample_frontend: 获取不同框架的示例前端模板
  3. suggest_ui_improvements: 获取 AI 驱动的改进 UI 代码的建议

实时数据流

  1. subscribe_to_sensor: 设置传感器数据更新的订阅
  2. get_latest_reading: 从特定传感器获取最新读数

调试和验证

  1. validate_api_connection: 检查 Fledge API 是否可访问
  2. simulate_frontend_request: 使用不同的方法和有效负载测试 API 请求

文档和模式

  1. get_api_schema: 获取有关可用 Fledge API 端点的信息
  2. list_plugins: 列出可用的 Fledge 插件

高级 AI 辅助功能

  1. generate_mock_data: 生成用于测试的逼真模拟传感器数据

测试 API

您可以使用包含的测试脚本测试服务器:

# 对于标准服务器
python test_mcp.py

# 对于带有 API 密钥的安全服务器
python test_secure_mcp.py

安全选项

安全服务器 (secure_mcp_server.py) 添加了 API 密钥身份验证:

  1. 首次运行时,它会生成一个存储在 api_key.txt 中的 API 密钥
  2. 所有请求都必须在 X-API-Key 标头中包含此密钥
  3. 健康检查端点仍然可以在没有身份验证的情况下访问

示例 API 请求

# 验证 API 连接
curl -X POST -H "Content-Type: application/json" -d '{"name": "validate_api_connection"}' http://localhost:8082/tools

# 生成模拟数据
curl -X POST -H "Content-Type: application/json" -d '{"name": "generate_mock_data", "parameters": {"sensor_id": "temp1", "count": 5}}' http://localhost:8082/tools

# 生成 React 图表组件
curl -X POST -H "Content-Type: application/json" -d '{"name": "generate_ui_component", "parameters": {"component_type": "chart", "sensor_id": "temp1"}}' http://localhost:8082/tools

# 对于安全服务器,添加 API 密钥标头
curl -X POST -H "Content-Type: application/json" -H "X-API-Key: YOUR_API_KEY" -d '{"name": "list_sensors"}' http://localhost:8082/tools

扩展服务器

要添加更多工具:

  1. 将工具定义添加到 tools.json
  2. mcp_server.pysecure_mcp_server.py 中实现工具处理程序

生产注意事项

对于生产部署:

  • 使用 HTTPS
  • 部署在 Nginx 等反向代理后面
  • 实施更强大的身份验证 (JWT, OAuth)
  • 添加速率限制
  • 为订阅设置持久性数据存储

在 Smithery.ai 上部署

Fledge MCP 服务器可以部署在 Smithery.ai 上,以增强可扩展性和可用性。 请按照以下步骤进行部署:

  1. 前提条件

    • 在本地计算机上安装 Docker
    • 一个 Smithery.ai 帐户
    • 安装 Smithery CLI 工具
  2. 构建和部署

    # 构建 Docker 镜像
    docker build -t fledge-mcp .
    
    # 部署到 Smithery.ai
    smithery deploy
    
  3. 配置 smithery.json 文件包含部署的配置:

    • 端口 8082 上的 WebSocket 传输
    • 可配置的 Fledge API URL
    • 工具定义和参数
    • 超时设置
  4. 环境变量 在 Smithery.ai 仪表板中设置以下环境变量:

    • FLEDGE_API_URL: 您的 Fledge API 端点
    • API_KEY: 您的安全 API 密钥(如果使用安全模式)
  5. 验证 部署后,验证您的服务器是否正在运行:

    smithery status fledge-mcp
    
  6. 监控 通过 Smithery.ai 仪表板监控您的部署:

    • 实时日志
    • 性能指标
    • 错误跟踪
    • 资源使用情况
  7. 更新 要更新您的部署:

    # 构建新镜像
    docker build -t fledge-mcp .
    
    # 部署更新
    smithery deploy --update
    

JSON-RPC 协议支持

该服务器使用 WebSocket 实现了基于 JSON-RPC 2.0 的模型上下文协议 (MCP)。 支持以下方法:

  1. initialize

    {
        "jsonrpc": "2.0",
        "method": "initialize",
        "params": {},
        "id": "1"
    }
    

    响应:

    {
        "jsonrpc": "2.0",
        "result": {
            "serverInfo": {
                "name": "fledge-mcp",
                "version": "1.0.0",
                "description": "Fledge Model Context Protocol (MCP) Server",
                "vendor": "Fledge",
                "capabilities": {
                    "tools": true,
                    "streaming": true,
                    "authentication": "api_key"
                }
            },
            "configSchema": {
                "type": "object",
                "properties": {
                    "fledge_api_url": {
                        "type": "string",
                        "description": "Fledge API URL",
                        "default": "http://localhost:8081/fledge"
                    }
                }
            }
        },
        "id": "1"
    }
    
  2. tools/list

    {
        "jsonrpc": "2.0",
        "method": "tools/list",
        "params": {},
        "id": "2"
    }
    

    响应: 返回可用工具及其参数的列表。

  3. tools/call

    {
        "jsonrpc": "2.0",
        "method": "tools/call",
        "params": {
            "name": "get_sensor_data",
            "parameters": {
                "sensor_id": "temp1",
                "limit": 10
            }
        },
        "id": "3"
    }
    

错误代码

服务器遵循标准的 JSON-RPC 2.0 错误代码:

  • -32700: 解析错误
  • -32600: 无效请求
  • -32601: 找不到方法
  • -32602: 无效参数
  • -32000: 服务器错误

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选