AI模型协议服务器

一个连接AI客户端与CloudTuner聊天代理API的模型上下文协议(MCP)服务器,支持stdio和SSE传输方法。

  • by thepratyushranjan
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 thepratyushranjan/MCP-Server

使用说明

CloudTuner MCP服务器

模型上下文协议(MCP)服务器,提供与CloudTuner人工智能服务的集成,允许Cursor等人工智能客户端与CloudTune的聊天代理API交互。

概述

该项目实现了一个MCP服务器,该服务器将AI客户端与CloudTuner的API连接起来,通过MCP协议实现对CloudTuner聊天代理的自然语言查询。服务器支持stdio和服务器发送事件(SSE)传输方法。

项目结构

MCP/
├── main.py                    # Main MCP server implementation
├── client.py                  # Test client for MCP server
├── test_cursor_integration.py # Integration test for Cursor IDE
├── tests/
│   └── test_query_cloudtuner.py # Unit tests for CloudTuner API
├── pyproject.toml            # Project configuration and dependencies
├── req.txt                   # Alternative requirements file
├── uv.lock                   # UV package manager lock file
└── README.md                 # This documentation

特性

  • CloudTuner集成:与CloudTuner的聊天代理API直接集成
  • 双重运输支持:支持stdio和SSE传输方法
  • 游标IDE集成:配置为与Cursor IDE无缝集成
  • 综合测试:包括单元测试和集成测试
  • 错误处理:针对API故障和超时的强大错误处理

安装

先决条件

  • Python 3.12或更高版本
  • UV包管理器(推荐)或pip

设置

  1. 安装UV包管理器

    对于macOS/Linux:

    curl -LsSf https://astral.sh/uv/install.sh | sh
    

    对于Windows:

    powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
    
  2. 克隆存储库 (如适用):

    git clone https://github.com/thepratyushranjan/MCP-Server.git
    cd MCP
    
  3. 使用UV安装依赖项 (推荐):

    uv sync
    

    或者使用pip:

    pip install -r req.txt
    
  4. 验证安装:

    uv run python test_cursor_integration.py
    

配置

游标IDE集成

该项目已配置为使用Cursor IDE。配置存储在 ~/.cursor/mcp.json:

{
  "mcpServers": {
    "cloudtuner-mcp": {
      "url": "http://localhost:8000/sse"
    }
  }
}

服务器配置

MCP服务器运行在:

  • 标准运输:默认MCP通信
  • SSE运输:HTTP服务器在上发送事件 http://0.0.0.0:8000

用法

运行服务器

  1. 启动MCP服务器:

    uv run main.py
    
  2. 验证服务器是否正在运行:

    uv run client.py
    

与Cursor IDE一起使用

  1. 确保MCP配置已在中设置 ~/.cursor/mcp.json
  2. 完全重新启动游标
  3. 打开新的聊天/对话
  4. CloudTuner工具将可供使用

可用工具

服务器提供以下工具:

query_cloudtuner(query: str)

向CloudTuner API发送查询并返回响应。

参数:

  • query (str):要发送给CloudTuner的用户查询字符串

退货:

  • CloudTuner API的JSON响应或错误信息

Cursor中的示例用法:

Use the CloudTuner tool to query "What is machine learning?"

API详细信息

CloudTuner API集成

服务器与CloudTuner的聊天代理API集成:

  • 端点: https://localhost/chat-agent/simple-query
  • 方法:POST
  • 内容类型:应用程序/json
  • 超时:30秒
  • 有效载荷: {"query": "your query string"}

错误处理

服务器处理各种错误情况:

  • HTTP错误:网络问题,API故障
  • 超时错误:请求时间超过30秒
  • JSON解析错误:来自API的无效响应

测试

单元测试

运行单元测试:

uv run python -m unittest tests.test_query_cloudtuner

集成测试

测试完整的MCP服务器集成:

uv run python test_cursor_integration.py

手动测试

手动测试MCP服务器:

uv run python client.py

发展

项目依赖项

该项目使用以下关键依赖关系:

  • fastmcp:Python的MCP框架
  • HTTPX:API请求的HTTP客户端库
  • mcp[cli]:核心MCP协议实现

建筑

服务器使用多线程架构:

  1. 主线:处理MCP通信的stdio传输
  2. 后台线程:运行SSE服务器进行基于HTTP的通信
  3. 工具实施:提供 query_cloudtuner 工具

编码结构

  • main.py:具有工具定义和传输设置的核心MCP服务器
  • client.py:手动MCP服务器测试的测试客户端
  • test_cursor_integration.py:全面的集成测试套件
  • tests/test_query_cloudtuner.py:API功能的单元测试

故障排除

常见问题

  1. 服务器无法启动:

    • 检查Python版本(需要3.12+以上)
    • 验证是否已安装所有依赖项
    • 检查端口8000是否可用
  2. 游标集成不起作用:

    • 验证 ~/.cursor/mcp.json 配置
    • 完全重新启动游标
    • 运行集成测试以验证设置
  3. API错误:

    • 检查互联网连接
    • 验证CloudTuner API端点是否可访问
    • 检查是否存在速率限制或身份验证问题

调试模式

为了调试,您可以运行带有额外日志记录的服务器:

uv run python main.py

服务器将输出启动消息和遇到的任何错误。

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 添加新功能的测试
  5. 运行测试套件
  6. 提交拉取请求

许可证

[在此处添加许可证信息]

支持

对于问题和疑问:

  • 检查上面的故障排除部分
  • 运行集成测试以诊断问题
  • 查看日志中的错误消息

版本历史

  • v1.0.0:带有CloudTuner API集成的初始版本
  • 基本MCP服务器实现
  • 游标IDE集成支持
  • 全面的测试套件