关于 McpServer
McpServer 是一个 .NET MCP 服务,将 Ollama 模型与图书管理 API 连接起来。它面向需要通过 HTTP 工具管理图书并生成模型回复的 AI 应用。
主要功能
- 01按书名或作者搜索图书
- 02创建和更新图书记录
- 03列出 Ollama 模型
- 04使用 Ollama 生成回复
- 05检查服务连通性
适用场景
- 01按书名或作者查询图书目录
- 02通过工具添加或编辑图书记录
- 03使用可用的 Ollama 模型生成文本
MCP 相关
该项目实现 MCP,并通过 HTTP API 提供工具列表和执行端点。工具连接图书 API 与 Ollama。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
McpServer
用于集成 AI 模型和管理图书的 Model Context Protocol(MCP)实现服务。
概述
McpServer 是一个完整的解决方案,可将 Ollama 的 AI 模型与图书管理 API 集成。该项目实现了 MCP(Model Context Protocol),并提供 HTTP 接口,以便通过 API 执行工具。
系统由三个主要组件组成:
- McpServer:基于 .NET 的 MCP 协议实现
- Livros API:用于管理图书数据的 API
- Ollama:用于运行 AI 模型的服务
系统要求
- Docker 和 Docker Compose
- .NET 9.0(用于开发)
- 至少 8GB RAM(运行较大的 AI 模型建议使用 16GB)
- 10GB 磁盘空间
安装和运行
方法 1:使用 Docker Compose(推荐)
-
克隆代码库:
git clone https://github.com/Adriano-Severino/McpServer.git cd McpServer -
使用 Docker Compose 运行系统:
docker-compose up -d -
检查所有服务是否正在运行:
docker-compose ps
方法 2:在本地运行(用于开发)
-
克隆代码库:
git clone https://github.com/Adriano-Severino/McpServer.git cd McpServer -
在本地或通过 Docker 运行 Ollama:
docker run -d -p 11434:11434 -v ollama_data:/root/.ollama --name ollama ollama/ollama -
运行 Livros API:
cd Livros dotnet run -
配置 McpServer 的环境变量:
set OLLAMA_BASE_URL=http://localhost:11434 set API_BASE_ADDRESS=http://localhost:5000/api/ -
运行 McpServer:
cd McpServer dotnet run
系统使用方法
系统运行后,你可以访问:
API 端点
-
MCP 服务:http://localhost:5500
-
Livros API:http://localhost:5000
- 用于管理图书的 REST API
与 Open WebUI 集成
与 Open WebUI 集成:
-
启动 Open WebUI(如果未使用完整的 docker-compose):
docker run -d -p 3000:8080 -e OLLAMA_BASE_URL=http://localhost:11434 -e MCP_SERVER_URL=http://localhost:5500 ghcr.io/open-webui/open-webui:cuda -
访问 Open WebUI:http://localhost:3000
-
配置与 MCP Server 的连接:
可用工具
MCP Server 提供以下工具:
图书管理
- ObterAsync:搜索图书,可按标题筛选
- ObterPorAutor:搜索图书,可按作者筛选
- CadastrarAsync:创建/登记新图书
- AtualizarAsync:更新现有图书的数据
与 Ollama 集成
- ListModels:列出 Ollama 中可用的模型
- GenerateResponse:使用 Ollama 模型生成回复
系统实用工具
- VerificarConectividade:检查组件之间的连通性
- ExibirConfiguracao:显示 MCP Server 的连接配置
使用示例
示例 1:列出图书
// POST para http://localhost:5500/api/execute
{
"tool": "ObterAsync",
"parameters": {
"titulo": "O Senhor dos Anéis"
}
}
示例 2:登记图书
// POST para http://localhost:5500/api/execute
{
"tool": "CadastrarAsync",
"parameters": {
"livro": {
"titulo": "O Hobbit",
"autor": "J.R.R. Tolkien",
"anoPublicacao": 1937,
"genero": "Fantasia"
}
}
}
示例 3:使用 Ollama 生成回复
// POST para http://localhost:5500/api/execute
{
"tool": "GenerateResponse",
"parameters": {
"model": "llama3",
"prompt": "Escreva um resumo sobre O Senhor dos Anéis"
}
}
配置
环境变量
- OLLAMA_BASE_URL:Ollama 服务的基础 URL(默认值:http://ollama:11434)
- API_BASE_ADDRESS:Livros API 的基础地址(默认值:http://livros-api:5000/api/)
故障排除
连通性问题
如果服务之间出现连通性问题:
-
检查所有容器是否正在运行:
docker-compose ps -
使用连通性检查工具:
// POST para http://localhost:5500/api/execute { "tool": "VerificarConectividade", "parameters": {} } -
检查容器日志:
docker-compose logs mcpserver docker-compose logs livros-api docker-compose logs ollama
Ollama 模型问题
如果模型未能加载:
- 检查 Ollama 是否正在运行
- 检查 Ollama 中是否有该模型:
docker exec -it ollama ollama list - 如有需要,下载模型:
docker exec -it ollama ollama pull llama3
系统架构
┌─────────────┐ ┌──────────────┐ ┌───────────┐
│ Open WebUI │────►│ MCP Server │────►│ Ollama │
└─────────────┘ └──────────────┘ └───────────┘
│
▼
┌──────────────┐
│ Livros API │
└──────────────┘
开发
为项目做出贡献:
- Fork 代码库
- 为你的功能创建分支(
git checkout -b feature/nome-da-feature) - 提交更改(
git commit -am 'Adiciona funcionalidade X') - 将更改推送到分支(
git push origin feature/nome-da-feature) - 创建 Pull Request
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。