Token导航 LogoToken导航

MCP Server · 运维云端

Custom MCP UsingPython

一个自定义的模型上下文协议(MCP)服务器实现,提供交互式Python客户端,使AI助手能够通过连接外部工具和服务扩展其能力。

stdio官方级别未说明来源级核验工具 3
AI扩展PythonClaudeClaude Desktop

快速开始

作者 / 组织
hemalathaa90
提供方
hemalathaa90

工具数量

3

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

1

仓库热度

收录来源

1 个

MCP World

选型结论

Custom MCP UsingPython 属于运维云端类 MCP Server,公开资料标注 3 个工具,通过stdio 本地进程接入,适配 Claude Desktop、Claude,有可以直接复制的安装命令;接入前先确认权限范围。

分类

运维云端

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

pip install mcp requests

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 对应的运行时,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 3 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

自定义MCP服务器项目

带有交互式Python客户端的自定义模型上下文协议(MCP)服务器实现。该项目展示了人工智能助手如何通过连接到外部工具和服务来扩展其功能。

什么是MCP?

模型上下文协议(MCP)是一种标准化协议,使AI助手能够与外部数据源和工具进行交互。它充当了人工智能模型和现实世界应用程序之间的桥梁,允许人工智能访问实时数据并执行超出训练数据的操作。

特性

MCP服务器(server.py)

  • 添加工具:执行两个数字的加法
  • 密语工具:从预定义列表中返回一个随机的秘密单词
  • 天气工具:使用wttr.in API获取任何城市的实时天气数据

交互式客户端(client.py)

  • 菜单驱动界面,便于工具选择
  • 所有刀具参数的动态用户输入
  • 错误处理和验证
  • 天气符号的Unicode支持
  • 异步/等待架构,实现高效通信

技术栈

  • Python 3.13
  • FastMCP框架:用于创建MCP服务器
  • 异步:用于异步编程
  • 请求::对于HTTP API调用
  • JSON-RPC:用于客户端-服务器通信
  • API中的wttr.in:获取天气数据

项目结构

custommcp/
├── server.py          # MCP server with tool definitions
├── client.py          # Interactive client application
└── README.md          # Project documentation

安装

先决条件

  • Python 3.10或更高版本
  • pip(Python包管理器)

设置

  1. 克隆存储库:
git clone https://github.com/hemalathaa90/Custom_MCP_UsingPython.git
cd Custom_MCP_UsingPython
  1. 安装所需的依赖项:
pip install mcp requests

用法

运行交互式客户端

使用MCP服务器的最简单方法是通过交互式客户端:

python client.py

交互式菜单:

==================================================
MCP Client - Interactive Mode
==================================================

Available tools:
  1. add: Add two numbers.
  2. get_secret_word: Get a random secret word
  3. get_current_weather: Get current weather for a city

Choose a tool to call (or 'q' to quit):
  1. add - Add two numbers
  2. get_secret_word - Get a random secret word
  3. get_current_weather - Get weather for a city
  q. Quit
==================================================

Enter your choice (1/2/3/q):

示例用法

1.添加数字:

Enter your choice (1/2/3/q): 1
Enter first number: 25
Enter second number: 17

Result: 25 + 17 = 42

2.获取一个秘密词汇:

Enter your choice (1/2/3/q): 2

Secret word: banana

3.获取天气数据:

Enter your choice (1/2/3/q): 3
Enter city name: London

Fetching weather for London...
Weather report:
[Weather data for London]

独立运行服务器

如果您只想运行服务器(用于与其他MCP客户端(如Claude Desktop)集成):

python server.py

与Claude Desktop集成

要将此MCP服务器与Claude Desktop一起使用:

  1. 找到您的Claude Desktop配置文件:

- 视窗: %APPDATA%\Claude\claude_desktop_config.json - macOS: ~/Library/Application Support/Claude/claude_desktop_config.json - Linux: ~/.config/Claude/claude_desktop_config.json

  1. 添加服务器配置:
{
  "mcpServers": {
    "demo-mcp-server": {
      "command": "python",
      "args": ["path/to/custommcp/server.py"]
    }
  }
}
  1. 重新启动克劳德桌面
  1. 这些工具现在将在您的Claude对话中可用!

API 参考

工具

add(a: int, b: int) -> int

将两个整数相加并返回结果。

参数:

  • a (int):第一个数字
  • b (int):第二个数字

退货:

  • a和b之和

例子:

add(5, 3)  # Returns: 8

______________________________________________________________________

get_secret_word() -> str

从预定义列表中返回一个随机单词。

参数: 无

退货:

  • 一个随机单词(苹果、香蕉、樱桃、枣或接骨木)

例子:

get_secret_word()  # Returns: "banana"

______________________________________________________________________

get_current_weather(city: str) -> str

获取指定城市的当前天气信息。

参数:

  • city (str):城市名称

退货:

  • 来自wttr.in的天气报告文本

例子:

get_current_weather("London")  # Returns weather data for London

技术细节

建筑

该项目使用客户端-服务器架构:

  1. 服务器 (server.py):

- 在客户端调用时作为子进程运行 - 通过标准输入/输出进行通信 - 使用JSON-RPC协议进行消息格式化 - 实施MCP协议以进行工具注册和执行

  1. 客户端 (client.py):

- 将服务器作为子进程生成 - 建立基于stdio的通信渠道 - 发送JSON-RPC格式的请求 - 处理响应并向用户显示结果

协议流

Client                          Server
  |                               |
  |--- Initialize Connection ---->|
  ||
  ||
  |     (with arguments)          |
  |                               |
  |                          [Execute Tool]
  |                               |
  |<--- Tool Result --------------|
  |                               |

错误处理

该项目包括全面的错误处理:

  • 输入验证:检查有效数据类型和非空值
  • 网络错误:优雅地处理API超时和连接故障
  • Unicode编码:处理不同控制台环境中的特殊字符
  • 异常日志:服务器记录所有调试错误

局限性

  • 天气API需要互联网连接
  • 天气数据取决于wttr.in服务的可用性
  • Unicode字符可能无法在所有终端中正确显示

未来的增强功能

  • \[\]添加更多工具(计算器功能、数据转换器等)
  • \[\]实现动态数据的资源提供者
  • \[\]为常见任务添加提示模板
  • \[\]创建基于web的用户界面
  • \[\]添加身份验证和安全功能
  • \[\]为API响应实现缓存
  • \[\]添加单元测试和集成测试
  • \[\]支持多个天气API提供商

故障排除

问题:“找不到命令:python”

解决方案:确保Python已安装并添加到PATH中。尝试 python3 而不是 python.

问题:“ModuleNotFoundError:没有名为'mcp'的模块”

解决方案:安装所需的软件包: pip install mcp

问题:天气工具返回超时错误

解决方案:检查您的互联网连接和防火墙设置。wttr.in服务也可能暂时不可用。

问题:Unicode字符显示不正确

解决方案:客户端在Windows上自动回退到仅ASCII显示。这是预期的行为。

贡献

欢迎投稿!请随时提交拉取请求。

  1. 分叉存储库
  2. 创建功能分支(git checkout -b feature/AmazingFeature)
  3. 提交您的更改(git commit -m 'Add some AmazingFeature')
  4. 推到分支(git push origin feature/AmazingFeature)
  5. 打开拉取请求

许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。

致谢

作者

Hemalathaa Arumugam Elumalai

项目状态

🟢 积极发展

______________________________________________________________________

内置❤️ 使用Python和MCP

工具与能力

工具数量

3

资源数量

0

提示词数量

0

能力标签

AI扩展Python本地部署外部工具集成实时数据访问Python客户端JSON-RPC通信

支持客户端

Claude DesktopClaude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

看服务状态

查询容器、日志和监控指标,定位异常。

执行部署变更

在权限范围内触发发布、回滚和环境切换。

核对资源用量

汇总用量,找出闲置和超额的部分。

选择建议

值得选的地方

  • 只提供 3 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude Desktop、Claude,换客户端不用重新研究配置。

先想清楚的地方

  • stdio 方式要求本地装好 运行环境,换机器要重新装一遍。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在运维云端场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Custom MCP UsingPython

MCP World · 本页

3stdio有1 个2026-05-17
Ui Tars Desktop 8a825770

MCP World

0stdio有1 个2026-05-17
Elie222 MCP

MCP World

0未说明未标注1 个2026-05-17
Arizeai Phoenix MCP

MCP World

0stdio有3 个2026-05-17
Unity MCP 87ee506e

MCP World

42HTTP有2 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Custom MCP UsingPython 怎么安装?

公开资料给出的安装命令是 pip install mcp requests,运行环境为 未标注。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Custom MCP UsingPython 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

Custom MCP UsingPython 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Custom MCP UsingPython 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Custom MCP UsingPython 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP