使用本地LLM演示MCP(客户端/服务器)
这是一个演示项目,展示了如何创建 MCP客户端 带着一个 本地法学硕士 Python和TypeScript。\ 它还演示了如何配置 MCP服务器 Python(使用FastAPI)和TypeScript。
工作流程如下:
- MCP客户端向MCP服务器请求可用工具的列表。
- 本地LLM根据给定的提示决定使用哪个工具。
- 如果选择了一个工具,客户端将调用服务器上的工具并返回结果。
所有客户组合 {Python, TypeScript} 以及服务器 {Python, TypeScript} 支持。
______________________________________________________________________
目录
- python - TypeScript
______________________________________________________________________
Ollama模型
对于演示,使用了一个小型、轻便的模型。\ 我选择了一个模型 以正确的数据类型返回工具参数 而不是作为字符串。
例如:
❌ 某些模型存在问题(例如。, llama3.2):
{"a":"4","b":"8"}✅ 期望输出:
{"a":4,"b":8}这避免了必须手动解析和转换参数值。
拉动模型(需要 观看):
ollama pull gwen3:1.7b______________________________________________________________________
MCP客户端
确保MCP服务器在本地运行 http://localhost:8000/mcp.对于演示,使用的提示是:
What is 45432542 plus 87468748?python
cd client/py
pip install -r requirements.txt
python mcp_client.py输出示例:
Available tools: ['root__get', 'add', 'multiply']
Tool: add
Args: {'a': 45432542, 'b': 87468748}
Tool output: {
"operation": "add",
"a": 45432542,
"b": 87468748,
"result": 132901290
}TypeScript
cd client/ts
npm install
npm run start输出示例:
Available tools: [ 'root__get', 'add', 'multiply' ]
Tool: add
Args: {"a":45432542,"b":87468748}
Tool output: {
"operation": "add",
"a": 45432542,
"b": 87468748,
"result": 132901290
}______________________________________________________________________
MCP服务器
Python和FastAPI
此示例显示了如何将MCP端点添加到现有的FastAPI应用程序中。
cd server/py
pip install -r requirements.txt
python mcp_server.py______________________________________________________________________
TypeScript
cd server/ts
npm install首先启动数学API(运行于 http://localhost:3333):
npm run api然后启动MCP服务器:
npm run mcp在这种TypeScript方法中,需要手动定义工具。\ 目前,没有直接的等价物 FastAPI-MCP 在TypeScript生态系统中。
