ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

mcp-server-demo MCP 服务说明文档

mcp-server-demo MCP 服务说明文档

1. 服务概述

一句话简介:Python MCP服务器演示项目,提供天气查询和SQLite数据库查询两个工具,适合学习MCP服务器开发

  • 服务名称:mcp-server-demo
  • 版本号:Latest
  • 开发者/提供方:penguinszp001
  • 协议类型:MCP (Model Context Protocol)

2. 核心功能

列出该MCP服务提供的主要功能点:

  • 天气查询:通过wttr.in查询指定城市的当前天气
  • 数据库查询:对本地SQLite数据库执行只读SELECT查询
  • 自动初始化:启动时自动创建demo.db并填充示例数据
  • OpenAI集成:可选的OpenAI API集成示例
  • FastMCP框架:使用FastMCP框架简化MCP服务器开发
  • 本地运行:本地MCP服务器,无需远程部署

3. 使用场景

描述该服务适合在什么情况下使用:

  • 学习MCP:学习如何从头开始构建MCP服务器
  • 开发测试:测试MCP客户端功能
  • 原型开发:快速原型开发和概念验证
  • 教学示例:作为MCP服务器开发的教学示例
  • 工具集成:演示如何集成外部API和数据库

4. 接入方式

4.1 服务端点

本地服务器:http://localhost:8000/mcp

数据库文件:demo.db(自动创建)

4.2 认证与权限

无需认证:本地演示服务器,无需API密钥

OpenAI集成:可选,需要OPENAI_API_KEY环境变量

数据库权限:仅允许SELECT查询,拒绝其他SQL操作

4.3 数据格式

天气查询返回:JSON摘要字段,包括:

  • 温度、体感温度
  • 湿度、风速
  • 简短天气状况

数据库查询返回:JSON格式的查询结果行

4.4 服务器配置

环境设置:

python -m venv .venv source .venv/bin/activate pip install -U pip pip install -e .

运行MCP服务器:

mcp-server-demo

OpenAI API集成(可选):

cp .env.example .env # 编辑.env文件,填入OPENAI_API_KEY python client_openai_api.py

5. 接口定义

工具列表

工具名称参数描述
weathercity: str查询指定城市的当前天气,返回JSON摘要(温度、体感温度、湿度、风速、天气状况)
query_dbsql: str对本地SQLite数据库执行只读SELECT查询,返回JSON格式的结果行。拒绝非SELECT SQL以确保安全

工具行为说明

weather(city: str):

  • 使用wttr.in API查询天气
  • 返回JSON摘要字段
  • 包含温度、体感温度、湿度、风速和简短天气状况

query_db(sql: str):

  • 仅允许SELECT查询
  • 返回JSON格式的结果行
  • 拒绝非SELECT SQL以确保安全
  • 适合此入门演示的安全设计

6. 快速开始

6.1 环境要求

  • Python 3.8+
  • pip包管理器
  • 可选:OpenAI API密钥(用于OpenAI集成)

6.2 示例代码

安装和运行:

python -m venv .venv source .venv/bin/activate pip install -U pip pip install -e . mcp-server-demo

使用MCP Inspector检查(可选):

npx @modelcontextprotocol/inspector

然后连接到本地Python服务器

OpenAI API集成:

cp .env.example .env # 编辑.env文件,填入OPENAI_API_KEY # 终端1:启动服务器 mcp-server-demo # 终端2:运行OpenAI客户端 python client_openai_api.py

7. 注意事项

  • 演示项目:这是一个演示项目,适合学习MCP服务器开发
  • 数据库安全:query_db仅允许SELECT查询,拒绝INSERT、UPDATE、DELETE等操作
  • 自动初始化:启动时自动创建demo.db数据库并填充示例数据
  • OpenAI集成:使用OpenAI Responses API与MCP工具定义集成
  • 本地服务器:通过http://localhost:8000/mcp访问
  • 项目文件:server.py(FastMCP服务器+工具定义)、client_openai_api.py(OpenAI API调用示例)、pyproject.toml(依赖+脚本入口点)
  • 许可证:未指定许可证
  • 相关集成:OpenAI API、SQLite数据库
返回列表