项目简介

本项目是一个 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 推理。

安装步骤

  1. 克隆仓库

    git clone https://github.com/pformoso-deus-ai/ss_mcp
    cd ss_mcp
  2. 安装依赖

    make install

    (此命令使用 'uv' 包管理器安装项目依赖)

  3. 安装并运行 Ollama (可选,用于 LLM 功能)

    • 访问 Ollama 官网 按照指引安装 Ollama。
    • 拉取 'llama3' 模型 (或其他您选择的模型):
      ollama pull llama3
      (如果不需要使用 Ollama 相关功能,可以跳过此步骤)

服务器配置

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': 对服务器配置的描述信息。

基本使用方法

  1. 启动服务器

    make server

    (此命令会运行 'python server.py' 启动 MCP 服务器,默认监听 'http://localhost:8000')

  2. 使用客户端 使用 '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'

信息

分类

开发者工具