ChatData MCP Server 是基于模型控制协议(MCP)的服务应用程序,提供丰富的工具集和提示系统以增强大型语言模型的能力。
该项目提供了一个灵活的服务器框架,允许通过MCP协议与大型语言模型进行交互。该服务器可以:
tools/)工具模块提供了各种功能性扩展,使语言模型能够执行特定任务:
网络工具:
web_scraper.py - 网页内容爬取工具ip_info.py - IP地址信息查询工具http_client.py - HTTP请求客户端fetch.py - 简单网页检索工具browser_use.py - 基于浏览器使用的网络信息检索工具数据处理工具:
data_converter.py - 数据格式转换工具(JSON/YAML/XML)text_summary.py - 文本摘要生成工具calculator.py - 高级数学计算工具开发辅助工具:
code_formatter.py - 代码格式化工具postgres.py - PostgreSQL数据库查询工具多媒体工具:
image_gen.py - 图像生成工具其他实用工具:
translator.py - 文本翻译工具weather.py - 天气查询工具echo.py - 简单回显显示工具prompts/)提示模块提供了各种预设的提示模板,用于快速生成高质量回复:
simple.py - 基本提示模板content_generator.py - 内容生成提示code_review.py - 代码审查提示utils.py - 提示工具函数server/)服务器模块处理客户端请求和响应,支持多种通信方式:
uv venv --python 3.12
pip install -e .
或者使用 uv:
uv pip install -e .
安装Playwright
playwright install
server
server --transport sse --port 8000
tools/ 目录下创建一个新的Python文件get_tools() 函数返回工具定义示例:
import mcp.types as types
async def my_function(param1, param2):
# 实现功能
return [types.TextContent(type="text", text="结果")]
async def my_tool(name: str, arguments: dict):
if name != "my_tool":
raise ValueError(f"未知工具: {name}")
# 提取参数
param1 = arguments.get("param1")
param2 = arguments.get("param2")
return await my_function(param1, param2)
def get_tools():
return [
types.Tool(
name="my_tool",
description="工具描述",
inputSchema={
"type": "object",
"required": ["param1"],
"properties": {
"param1": {
"type": "string",
"description": "参数1描述",
},
"param2": {
"type": "string",
"description": "参数2描述",
}
},
},
)
]
prompts/ 目录下创建一个新的Python文件get_prompts() 函数返回提示定义示例:
import mcp.types as types
from .utils import create_messages
def my_prompt(context=None, topic=None):
messages = create_messages(context, topic)
return types.GetPromptResult(
messages=messages,
description="提示描述"
)
def get_prompts():
return [
types.Prompt(
name="my_prompt",
description="提示描述",
func=my_prompt,
args={
"context": {
"type": "string",
"description": "上下文信息"
},
"topic": {
"type": "string",
"description": "主题"
}
}
)
]
MIT