项目简介
本项目是一个 MCP (Model Context Protocol) 服务器的演示实现,旨在展示 MCP 协议在构建应用后端方面的能力。它包含了工具 (Tools)、资源 (Resources) 和 Prompt 模板 (Prompts) 的示例,帮助开发者理解如何使用 MCP 标准化地向 LLM 客户端提供上下文信息和功能。
主要功能点
- 工具 (Tools): 实现了将文本转换为古拉丁文风格的工具,允许 LLM 调用外部功能进行文本处理。
- 资源 (Resources): 提供了以下数据资源,允许 LLM 客户端访问结构化数据:
- 希腊神话人物数据 (CSV 格式)
- 古拉丁文文本转换服务
- 个性化问候语服务
- Prompt 模板 (Prompts): 预定义了以下 Prompt 模板,支持可定制的 LLM 交互模式:
- MCP 专家助手 Prompt (可指定主题)
- 代码审查 Prompt
- Git 提交信息生成 Prompt
- Ollama 集成: 客户端集成了 Ollama,可以使用本地部署的 LLM (如 llama3) 来处理 Prompt 请求,实现本地化的 LLM 推理。
安装步骤
-
克隆仓库
git clone https://github.com/pformoso-deus-ai/ss_mcp cd ss_mcp -
安装依赖
make install(此命令使用 'uv' 包管理器安装项目依赖)
-
安装并运行 Ollama (可选,用于 LLM 功能)
- 访问 Ollama 官网 按照指引安装 Ollama。
- 拉取 'llama3' 模型 (或其他您选择的模型):
(如果不需要使用 Ollama 相关功能,可以跳过此步骤)ollama pull llama3
服务器配置
MCP 客户端需要以下配置信息才能连接到 MCP Demo Server。此配置描述了如何启动服务器进程:
{ "server name": "MCP Demo Server", "command": "python3", "args": [ "./server.py" ], "description": "使用 Python3 解释器运行 server.py 脚本来启动 MCP Demo Server" }
- 'server name': 服务器名称,用于标识服务器。
- 'command': 启动服务器的命令,这里使用 'python3' 解释器。
- 'args': 传递给启动命令的参数,'./server.py' 指定服务器脚本的路径。
- 'description': 对服务器配置的描述信息。
基本使用方法
-
启动服务器
make server(此命令会运行 'python server.py' 启动 MCP 服务器,默认监听 'http://localhost:8000')
-
使用客户端 使用 'make client ARGS='<command> <arguments>'' 命令与服务器交互。以下是一些示例命令,更多用法请参考仓库 'README.md' 文件:
-
调用 'latin' 工具转换文本为古拉丁文:
make client ARGS='latin "The quick brown fox jumps over the lazy dog."' -
使用 'latin-resource' 资源获取古拉丁文文本:
make client ARGS='latin-resource "The quick brown fox jumps over the lazy dog."' -
获取希腊神话人物数据:
make client ARGS='gods' -
获取指定数量的希腊神话人物数据 (例如,限制为 5 个):
make client ARGS='gods --limit 5' -
获取个性化问候语:
make client ARGS='greeting "World"' -
使用 Ollama 与 MCP 专家助手聊天:
make client ARGS='chat "What is MCP?"' -
使用指定的 Ollama 模型与 MCP 专家助手聊天 (例如,使用 'mistral' 模型):
make client ARGS='chat "What is MCP?" --model mistral' -
进行代码审查 (Python 代码):
make client ARGS='review "def hello():\n print(\"Hello, world!\")"' -
生成 Git 提交信息建议:
make client ARGS='commit "Added new feature X"' -
使用自定义 Ollama 服务器地址:
make client ARGS='chat "What is MCP?" --ollama-url http://custom-ollama-server:11434'
-
信息
分类
开发者工具