主要作为使用 FastMCP 开发 MCP 服务器的模板仓库,PyMCP 在某种程度上受到了 官方 everything MCP 服务器 的启发,该服务器是用 TypeScript 编写的。
以下组件在此 MCP 服务器上可用。
greetname: string (可选):要问候的名字。默认值为空。TextContent。generate_passwordlength: integer:生成的密码长度。该值必须在 8 到 64 之间,包括两端。use_special_chars: boolean (可选):一个标志,指示密码是否应包含特殊字符。默认值为 False。TextContent。text_web_searchquery: string:用于获取结果的搜索查询。它应该是一个非空字符串。region: string (可选):两个字母的国家代码后跟一个连字符,然后是两个字母的语言代码,例如 uk-en 或 us-en。默认值为 uk-en。max_results: integer (可选):可选的最大结果数。默认值为 10。pages: integer (可选):可选的结果分布页数。默认值为 1。DDGS_PROXY: string (可选):用于出站网络搜索请求的可选代理服务器。TextContent。permutationsn: integer:可供选择的项目数。这应该是一个非零正整数。k: integer (可选):要选择的项目数。默认值为 n 的值。TextContent,即 ${}^{n}P_{k}$。pirate_summarisetext: string:要总结的文本。text 的海盗风格总结的 TextContent。vonmises_randommu: float:介于 0 和 $2\pi$ 之间的参数 $\mu$。TextContent。resource_logodata://logoBase64EncodedBinaryDataResponse Pydantic 对象的 TextContent,该对象具有以下字段。
data: string:PyMCP 的 Base64 编码 PNG 标志。hash: string:原始二进制数据的十六进制编码加密哈希,由其 Base64 编码字符串等效表示在 data 中。(预期的十六进制编码哈希值为 6414b58d9e44336c2629846172ec5c4008477a9c94fa572d3419c723a8b30eb4c0e2909b151fa13420aaa6a2596555b29834ac9b2baab38919c87dada7a6ef14。)hash_algorithm: string:使用的加密哈希算法,例如 sha3_512。resource_logo_svgdata://logo_svgTextContent。resource_unicode_modulo10data://modulo10/{number}number: integer:介于 1 和 1000 之间的正整数,包括两端。TextContent。code_prompttask: string:将为其生成代码实现提示的任务描述。user 的 PromptMessage,内容为表示提示的 TextContent。您克隆此存储库的目录将在此后称为 工作目录 或 WD。
安装 uv。要在虚拟环境中安装该项目及其最小依赖项,请在 WD 中运行以下命令。要安装所有非必需依赖项(开发和测试所需),请将以下命令中的 --no-dev 替换为 --all-groups 标志。
uv sync --no-dev
可以通过运行以下命令单独启动 PyMCP 作为 MCP 服务器,使用 stdio 传输。或者,可以使用 MCP_SERVER_TRANSPORT 环境变量指定传输类型,使用 streamable-http 或 sse 传输启动它。
uv run pymcp
MCP Inspector 是一个 官方 的 Model Context Protocol 工具,开发人员可以使用它来测试和调试 MCP 服务器。这是探索 MCP 服务器最全面的方式。
要使用它,您必须安装 Node.js。安装和管理 node 以及像 MCP Inspector 这样的包的最佳方法是使用 Node 版本管理器 (或 nvm)。一旦安装了 nvm,您可以执行以下操作来安装并使用最新的长期支持版本的 node。
nvm install --lts
nvm use --lts
接下来,在 WD 中执行以下命令运行 MCP Inspector 和 PyMCP。
npx @modelcontextprotocol/inspector uv run pymcp
这将在端口 6274 创建一个带有身份验证令牌的本地 URL,您可以将其复制并在浏览器中浏览。进入 MCP Inspector 用户界面后,点击 连接 来连接到 MCP 服务器。之后,您可以探索服务器上的可用工具。
您可以使用以下 stdio 传输运行服务器条目,与 Claude Desktop、Visual Studio Code 等系统一起使用。
{
"command": "uv",
"args": [
"run",
"pymcp"
]
}
在 args 列表的末尾,您可能需要指定脚本的完整路径,例如 WD/.venv/bin/pymcp。
目前可用的远程托管选项如下。
要使用 pytest 运行提供的测试集,请在 WD 中执行以下命令。在以下命令中追加标志 --capture=tee-sys 可以看到测试期间的控制台输出。
uv run --group test pytest tests/
要获取在调用测试时的覆盖率报告,请运行以下两个命令。
uv run --group test coverage run -m pytest tests/
uv run coverage report
这将生成类似以下的输出。
Name Stmts Miss Cover Missing
-----------------------------------------------------------------------
src/pymcp/__init__.py 4 0 100%
src/pymcp/data_model/__init__.py 0 0 100%
src/pymcp/data_model/response_models.py 21 0 100%
src/pymcp/mixin.py 37 0 100%
src/pymcp/server.py 101 0 100%
tests/__init__.py 0 0 100%
tests/test_data_models.py 47 0 100%
tests/test_server.py 200 0 100%
-----------------------------------------------------------------------
TOTAL 410 0 100%
通过使用 uv sync 的 --all-groups 标志为 Git 安装 pre-commit 来安装 PyMCP。
然后通过在 WD 中运行以下命令启用 pre-commit。
pre-commit install
欢迎提交拉取请求。对于重大更改,请先打开一个问题讨论您想要更改的内容。
MIT。