MCP服务器演示
一个实施模型上下文协议(MCP)服务器的演示项目,该服务器采用模块化结构组织了多种工具。
概述
这个项目展示了如何使用各种工具创建一个具备多种功能的MCP服务器:
- 一个简单的回显工具直接集成在主模块中
- 专用模块中的翻译工具
- 带CRUD操作的笔记资源管理
该服务器支持两者(或:该服务器同时支持……和……) stdio 并且 streamable-http 交通。
项目结构
mcp_servers_demo/
│
├── main.py # Main MCP server implementation
├── translator/ # Translator tools module
│ ├── __init__.py # Module exports
│ └── translator_tool.py # Translator tool implementation
├── resources/ # Resources module
│ ├── __init__.py # Module exports
│ └── note_resource.py # Notes resource implementation
├── prompts/ # Prompts module
│ ├── __init__.py # Module exports
│ ├── note_prompts.py # Notes resource prompts
│ └── translator_prompts.py # Translator tool prompts
├── pyproject.toml # Project metadata and dependencies
├── README.md # This file
├── USAGE.md # Usage guide with examples
├── RESOURCES.md # Resources documentation
└── PROMPTS.md # Prompts documentation可用工具
回声工具
echo回传提供的信息
翻译工具
translate在不同语言之间翻译文本list_supported_languages列出所有支持的翻译语言
笔记资源工具
list_notes列出所有笔记,可选择按标签过滤get_note通过ID获取特定笔记get_note_by_title通过标题查找笔记(精确匹配或部分匹配)create_note创建一个新笔记update_note更新现有笔记delete_note删除一条笔记
安装
这个项目使用了 uv 用于Python包管理。
# Create a virtual environment
uv venv
# Activate the virtual environment
source .venv/bin/activate
# Install dependencies
uv pip install -e .运行服务器
服务器支持多种传输方法:
stdio 传输(默认)
uv run main.py可流式传输的HTTP传输
MCP_TRANSPORT=streamable-http uv run main.py传输配置
运输方式由……决定 MCP_TRANSPORT 环境变量:
stdio使用标准输入/输出的默认传输方式streamable-http基于HTTP的传输
MCP资源公司
此项目展示了使用带有标签的Notes资源类型来存储和检索文本笔记的MCP资源。
见 RESOURCES.md 翻译为中文是:“资源文件.md” 关于资源如何实施和使用,详见以下详细信息。
MCP 提示/引导
该项目还展示了使用MCP提示符来增强人工智能与工具之间的交互。提示符为人工智能在使用特定工具时如何格式化请求和响应提供了指导。
我们在整个项目中为各种工具实现了提示功能:
- 翻译提示(或:翻译器提示)翻译提示和语言列表工具
- “Note Resource Prompts” 可以翻译为“笔记资源提示”或“备注资源提示”,具体取决于上下文和使用场景。如果是在软件或应用程序中提到,可能指的是提供关于如何使用或创建笔记资源的提示或指南笔记管理操作的提示
看 PROMPTS.md(文件名,可译为“提示.md”或保持原样,具体取决于上下文是否需要翻译文件名) 有关提示的实现和使用方法的详细信息。
未来改进方向
- 与Claude桌面版集成(已配置)
发展
遵循PEP8规范进行代码风格编写。
文档
如需了解更多关于MCP的信息,请查阅官方文档:
