项目简介:
这是一个展示如何使用Model Context Protocol (MCP) 构建一个简单的本地服务器的示例项目。该服务器暴露了基本的数学计算功能(加法和乘法)作为MCP工具,并配合一个使用Ollama本地LLM的客户端,演示了LLM如何通过MCP发现并调用这些工具来完成用户请求。
主要功能点:
- 注册并暴露 'add' 和 'multiply' 两个数学函数作为MCP工具。
- 通过标准输入/输出 (Stdio) 传输协议与MCP客户端通信。
- 允许MCP客户端发现服务器提供的工具列表及其描述。
- 接收MCP客户端发起的工具调用请求,执行对应的函数并返回结果。
安装步骤:
- 确保您的系统已安装 Python 3.8 或更高版本。
- 安装项目所需的 Python 包:
pip install "mcp[cli] @ git+https://github.com/awslabs/mcp.git" openai==0.28 httpx - 安装并运行 Ollama (请参考 Ollama 官方文档)。
- 使用 Ollama 下载并运行一个支持工具调用的本地大模型,例如 Llama3:
ollama run llama3 # 或者其他支持工具调用的模型,如 mistral-nemo, mistral, codellama等
服务器配置:
该MCP服务器名为 'calculator',使用标准输入/输出 (Stdio) 作为传输协议。 MCP客户端需要通过指定服务器的启动命令和参数来连接此服务器。 对于此项目中的 'math_server.py' 文件,其启动命令为 'python',参数为 'math_server.py' 文件的路径。 (例如,如果'math_server.py'在当前目录下,客户端配置中应指定command为'python',args为'["math_server.py"]')
基本使用方法:
- 在一个终端窗口中启动MCP服务器:
python math_server.py - 在另一个终端窗口中启动示例MCP客户端(将 '<path_to_server_script>' 替换为 'math_server.py' 文件的实际路径):
python ollama_client.py <path_to_server_script> - 客户端启动后,您可以在客户端提示符下输入查询,例如 "What is 5 + 8?" 或 "Multiply 7 and 9",LLM将通过调用服务器上的工具来回答。输入 'quit' 退出客户端。
信息
分类
AI与计算