模型上下文协议服务器

FastMCP提供的模型上下文协议服务器,支持本地和云端部署,适用于AI工具集成和远程服务调用。

  • by abhay-2108
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 abhay-2108/Remote-MCP-Server-Testing

使用说明

MCP演示项目

这个项目展示了如何建立和运行一个 MCP(模型上下文协议)服务器 使用 FastMCP 和 紫外线.


先决条件

  • Python 3.11+
  • uv 命令行界面(CLI)工具
  • fastmcp Python包
  • GitHub账户(用于存储库)
  • FastMCP 云账户(免费版)

安装说明

  1. 使用(以下工具或命令)初始化项目 uv

    pip install uv
    uv init .
    
  2. 将FastMCP添加到项目中

    uv add fastmcp
    
  3. 创建您的MCP服务器文件 (例如。, main.py)

    from fastmcp import FastMCP
    
    mcp = FastMCP("DemoServer")
    
    @mcp.tool
    def add(a: int, b: int) -> int:
        return a + b
    
    if __name__ == "__main__":
        mcp.run() 
        * To run MCP server locally. Default is to run locally
        mcp.run(transport="http",host="0.0.0.0",port=8000)
        * To run MCP server on FastMCP Cloud.
    
  4. 在本地启动MCP服务器

    uv run fastmcp run main.py
    

    启动远程MCP服务器

    fastmcp run main.py --transport http --host 0.0.0.0 --port
    
                               or 
    
    uv run main.py
    
  5. 使用MCP Inspector测试服务器

    uv run fastmcp dev main.py
    
    • 允许您在本地测试和检查MCP工具(类似于Postman)。

在FastMCP云上部署MCP服务器作为远程服务器

  1. 创建一个GitHub仓库 为你的项目进行(相关操作)并推送你的代码。

  2. 创建一个FastMCP云账户 (免费套餐可用,详情请访问 FastMCP Cloud(可译为“FastMCP云”或根据具体语境简化为“FastMCP云端”))。

  3. 在云端安装项目依赖项

    uv add .
    uv add fastmcp
    
  4. 部署您的MCP服务器

    uv run fastmcp deploy main.py --cloud
    
  5. 测试已部署的服务器 使用MCP Inspector或通过您的云URL。


  1. 将MCP服务器与Claude桌面集成 PowerShell 运行 UV,使用 fastmcp 安装 claude-desktop,执行 main.py
  • 将MCP服务器与Claude Desktop集成起来非常简单。

在本地使用代理服务器/远程MCP服务器

你可以连接到一个 远程MCP服务器 使用代理在本地访问MCP工具。这对于测试云部署的MCP服务器或在远程环境中运行您的服务器非常有用。

步骤

  1. 确保您的远程MCP服务器已部署且可访问(例如,通过 FastMCP 云)。
  2. 使用 as_proxy 在本地环境中创建代理客户端的方法。

示例:使用 as_proxy 方法

from fastmcp import FastMCP

# Connect to the remote MCP server using proxy
mcp = FastMCP.as_proxy("https://your-remote-mcp-server.fastmcp.ai")

# Call remote MCP tools as if they were local
result = mcp.add_expense(item="Lunch", amount=12.5, category="Food")
print(result)

summary = mcp.expense_summary()
print(summary)

这种设置使您能够无缝地与远程MCP服务器进行交互,因为

项目结构

MCP Demo Project/
├─ main.py          # MCP server code
├─ uv.yaml          # Project config (generated by uv)
├─ README.md        # Project documentation
└─ .venv/           # Project virtual environment (managed by uv)

注释

  • 使用 uv run fastmcp dev main.py 用于开发和测试。
  • 使用 uv run fastmcp run main.py 用于在本地运行生产MCP服务器。
  • 使用FastMCP云进行部署 uv run fastmcp deploy main.py --cloud。
  • 所有MCP工具均定义在 main.py 在……之下 @mcp.tool 装饰器。