远程MCP服务器

一个基于FastMCP的远程MCP服务器,允许AI主机通过自然语言调用工具进行费用跟踪和管理。

  • by Aryan-Dey
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 Aryan-Dey/MCP-Notes-with-Mini-Project

使用说明

远程MCP服务器(FastMCP)——构建、测试、部署和连接

该项目演示了如何构建 远程MCP(模型上下文协议)服务器 使用 FastMCP,使用本地测试 MCP检查员,将其部署到云端,并可选择将其连接到AI主机(如Claude Desktop),以便AI可以远程调用您的工具。

此回购的目标是展示 端到端MCP服务器工作流 这对生产足够友好,可以向招聘人员展示: 工具设计、HTTP传输、调试、部署和集成.


费用跟踪MCP服务器(远程+本地)

一 费用跟踪MCP服务器 这让AI主机(如 克劳德桌面版)使用以下方式管理您的开支 自然语言.
您可以添加费用,按日期/月份列出费用,并生成摘要——所有这些都可以通过调用MCP来实现 工具 超过 流式HTTP (远程)或 工作室 (当地)。


$## ✨ 这个项目做什么

该项目构建了一个 费用跟踪MCP服务器 这将结构化功能暴露给AI客户端。

✅ MCP服务器功能

1) 工具(可调用操作)

您的AI主机可以调用服务器函数,例如:

  • add_expense → 添加新费用(金额、类别、日期、备注)
  • list_expenses → 获取日期范围/月份的费用
  • summarize_expenses → 总计+细分(按月/按类别)

2) 资源(只读数据)

服务器还提供只读端点,如:

  • server_info (元数据/服务器详细信息)
  • categories JSON资源用于一致性 类别+子类别 选择

使用类别JSON资源可确保条目之间干净、一致的分类(没有重复的类别,如“运输”和“运输”)。

3) 远程托管支持

  • 用途 可流式HTTP传输,因此您可以远程部署服务器并通过 远程MCP URL.

🧪 本地开发和测试

您可以使用以下命令在本地验证MCP服务器:

✅ FastMCP开发/MCP检查员

  • 确认 能力发现 (工具/资源显示正确)
  • 让你跑步 工具调用 并验证输出

典型流程:

  1. 在开发模式下启动服务器
  2. 打开MCP检查器
  3. 验证工具/资源
  4. 运行工具调用(添加/列出/汇总)

🌍 部署为远程MCP服务器(云)

1) 将代码推送到GitHub

git init
git add .
git commit -m "Initial commit"
git remote add origin <YOUR_GITHUB_REPO_URL>
git push -u origin main

🧱 技术栈

  • python
  • FastMCP
  • 紫外线 (项目/依赖关系经理)
  • Git+GitHub
  • FastMCP云 (部署)
  • (可选) SQLite 用于有状态的应用程序,如Expense Tracker

📌 涵盖的关键概念/主题(招聘人员友好)

1) MCP生命周期理解

  • 初始化阶段(协议协商+能力设置)
  • 操作阶段(能力发现+工具调用)
  • 停工阶段(运输管理关闭)

2) 能力发现

  • 客户端如何发现可用的服务器功能:
    • tools/list
    • resources/list
    • prompts/list (如果支持)
  • 这如何实现主机AI的动态工具选择

3) 工具调用(核心MCP值)

  • 定义服务器端工具
  • 传递结构化参数
  • 返回可供AI代理使用的结构化结果

4) 资源暴露

  • 通过以下方式公开静态或动态数据 @mcp.resource
  • 示例用例:从JSON文件进行类别映射以实现一致的分类

5) 传输层(本地与远程)

  • stdio 运输 本地服务器
  • http / 可流式传输HTTP 运输 远程服务器
  • 托管服务器,使工具可跨设备/用户访问

6) 可观察性和可靠性(特殊情况)

  • Ping请求(保持连接活跃,检测死对等体)
  • 错误处理(JSON-RPC风格的错误对象)
  • 超时和取消
  • 长时间运行操作的进度通知

7) 部署工作流

  • 使用GitHub进行源代码管理
  • 使用FastMCP Cloud从仓库部署
  • 在新提交时自动构建和重新部署

🌍 部署为远程MCP服务器(FastMCP云)

1) 将代码推送到GitHub

bash git 初始化 git添加。 git commit-m“初始提交” git远程添加来源<YOUR_GITHUB_REPO_URL> git推送-u源代码main

2) 在FastMCP云上部署

  1. 登录FastMCP云
  2. 从您自己的代码中选择部署
  3. 选择您的GitHub repo+分支
  4. 将入口文件设置为:main.py
  5. 单击部署

✅ 部署后,您将获得一个可供客户端/AI主机使用的远程MCP URL。

3) 连接到克劳德桌面(可选)

如果您的AI主机支持自定义远程连接器: 打开克劳德桌面->转到设置→ 连接器->单击添加自定义连接器->粘贴远程MCP URL->重新启动Claude Desktop

现在,Claude可以直接调用您的服务器工具。