Skip to content

itshen/MCP_Template

Repository files navigation

Time & Calculator MCP

一个基于 MCP (Model Context Protocol) 的时间查询和基础计算服务,带有 Web 管理界面和完整的认证机制。

功能

🕐 时间工具

工具 功能
get_current_time 获取当前时间(支持多时区)
convert_timezone 时区转换
date_calculate 日期计算(加减天/周/月)
date_diff 计算日期差值
list_timezones 列出可用时区

🔢 计算工具

工具 功能
calculate 数学表达式计算
percentage 百分比计算
unit_convert 单位换算
random_number 生成随机数

🔐 认证功能

  • 管理员登录(用户名/密码)
  • Session 会话管理
  • API Token 管理(供 MCP 客户端使用)
  • 密码修改

快速开始

1. 安装依赖

pip install -r requirements.txt

2. 运行

python3.11 server.py

3. 访问

4. 默认账号

首次启动时,系统会创建默认管理员账号:

  • 用户名:admin
  • 密码:admin123(或查看控制台输出的随机密码)

请登录后立即在管理页面修改密码!

项目结构

MCP_Template/
├── server.py           # 服务器入口(Web + MCP)
├── tools.py            # 工具实现
├── auth.py             # 认证模块
├── models.py           # 数据模型
├── config.yaml         # 配置文件
├── requirements.txt    # 依赖列表
├── README.md           # 说明文档
├── templates/          # HTML 模板
│   ├── index.html      # 工具测试页面
│   ├── login.html      # 登录页面
│   └── admin.html      # 管理页面
└── static/             # 静态资源
    ├── css/
    │   └── style.css
    └── js/
        └── main.js

配置说明

config.yaml

# 服务器配置
server:
  name: "Time & Calculator MCP"
  port: 8765

# 认证配置
auth:
  default_password: "admin123"    # 默认密码
  salt: "your_salt_here"          # 密码加盐

# 存储配置
storage:
  data_dir: "./data"

MCP 客户端配置

1. 创建 API Token

  1. 访问管理页面:http://localhost:8765/admin
  2. 在「API Token 管理」中创建新 Token
  3. 复制生成的 Token

2. 配置 Cursor / Claude Desktop

{
  "mcpServers": {
    "time-calc": {
      "url": "http://localhost:8765/mcp",
      "headers": {
        "Authorization": "Bearer mcp_xxxxxxxx..."
      }
    }
  }
}

使用示例

时间查询

get_current_time()                    → 北京时间(默认)
get_current_time("纽约")               → 纽约时间
convert_timezone("14:30", "北京", "纽约") → 时区转换
date_calculate("today", days=7)        → 7 天后
date_diff("today", "2025-12-31")       → 距离年底多少天

计算

calculate("sqrt(16) + 2^3")            → 12
percentage(100, 20, "increase")        → 120
unit_convert(25, "℃", "℉")             → 77°F
random_number(1, 100, 5)               → 5 个随机数

支持的时区

时区 别名 UTC 偏移
Asia/Shanghai 北京、上海、中国 UTC+8
Asia/Tokyo 东京、日本 UTC+9
America/New_York 纽约 UTC-5
America/Los_Angeles 洛杉矶 UTC-8
Europe/London 伦敦 UTC+0
Europe/Paris 巴黎 UTC+1

支持的单位

  • 长度: km, m, cm, mm, mi, yd, ft, in, 千米, 米, 厘米, 毫米
  • 重量: kg, g, mg, lb, oz, 公斤, 斤, 两, 克
  • 温度: ℃, ℉, K, 摄氏度, 华氏度, 开尔文
  • 数据: B, KB, MB, GB, TB

License

MIT License

Copyright (c) 2025 Miyang Tech (Zhuhai Hengqin) Co., Ltd.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages