计算协议服务器

全功能MCP(模型上下文协议)服务器,提供计算工具、文档生成、提醒管理和网络搜索等功能,支持多种传输方式。

  • by bagasta
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 bagasta/new-mcp-server

使用说明

MCP计算器服务器

功能齐全的MCP(模型上下文协议)服务器,配备计算器工具,支持多种传输方式。

特性

  • ✅ 17种工具(计算器操作、网络实用程序、提醒、消息传递、文档和深度研究触发器)
  • ✅ 4个传输选项(STDIO、SSE、流式HTTP、REST API)
  • ✅ 交互式游乐场,可选LangChain集成
  • ✅ 使用FastMCP和Python构建

快速开始

1.安装依赖项

pip install -r requirements.txt
cd playground/backend && pip install -r requirements.txt

2.运行MCP服务器(选择一种传输方式)

# STDIO
python -m src.transports.stdio

# SSE (port 8000)
python -m src.transports.sse

# Streamable HTTP (port 8001)
python -m src.transports.streamable

# REST API (port 8002)
python -m src.transports.api

注: 操场后端需要REST API传输。从以下内容开始 python -m src.transports.api 在启动游乐场服务之前。

适用于LangChain动力 /calculate 请求,也启动SSE传输: python -m src.transports.sse (默认URL http://localhost:8000/sse).

3.跑步游乐场

# Start backend
cd playground/backend
python -m main

# Open frontend (in browser)
open ../frontend/index.html  # macOS
# or use your preferred method to open the HTML file.

运输详情

运输 港口 用例
STDIO - CLI工具,直接集成
SSE 8000 实时流媒体
流式HTTP 8001 HTTP流式客户端
REST API 8002 简单的HTTP请求

可用工具

  • add(a, b) -加两个数字
  • subtract(a, b) -从a中减去b
  • multiply(a, b) -将两个数字相乘
  • divide(a, b) -将a除以b
  • power(base, exponent) -提高 base 到 exponent
  • sqrt(value) -平方根
  • factorial(value) -保理
  • percentage(value, percent) -计算百分比
  • fetch_web_content(url, timeout=10) -通过HTTP/HTTPS获取web内容
  • web_search(query, country='us', language='en', num_results=5) -通过Serper搜索网络
  • pdf_generate(title, content, filename=None, author=None) -使用提供的文本生成PDF文档
  • docx_generate(title, content, filename=None, author=None) -使用提供的文本生成DOCX文档
  • schedule_reminder(...), list_reminders(limit=20), cancel_reminder(reminder_id) -通过webhook管理定时提醒
  • send_message(to, message) -立即向webhook发送通知
  • deep_research(search_topic, email) -使用结构化有效载荷触发n8n深度研究工作流程

配置说明

  • 来自a的环境变量 .env 服务器启动时,项目根目录中的文件会自动加载。
  • 集 SERPER_API_KEY 使用您的Serper API令牌启用 web_search 工具。
  • 集 REMINDER_WEBHOOK_URL, MESSAGE_WEBHOOK_URL,以及 DEEP_RESEARCH_WEBHOOK_URL 连接基于webhook的工具。

游乐场使用情况

  1. 启动REST API传输: python -m src.transports.api
  2. 启动游乐场后端: cd playground/backend && python -m main
  3. 打开 playground/frontend/index.html 在浏览器中
  4. 选择工具、提供参数并执行操作
  5. 可选择输入自然语言指令(使LangChain能够完全处理)

集成测试

  • 跑 python3 scripts/run_full_test.py 从项目根到练习计算器工具、文档生成器、web实用程序、提醒工作流和REST/SSE/流式传输。
  • 该线束启动本地webhook记录器并跳过Serper搜索测试,除非 SERPER_API_KEY 已配置。

许可证

麻省理工学院