logo
0
0
WeChat Login
docs: 更新 README.md 文档,修正标题并添加功能特性和使用示例 refactor: 修改 main.py 文件中的注释以统一命名风格

WITS 科研成果服务平台连接器

WITS(科研成果服务平台)的 MCP (Model Context Protocol) 连接器,为 AI 助手提供 HTTP 请求能力和 WITS 系统认证功能。

功能特性

  • 通用 HTTP 请求工具:支持 GET、POST、PUT、DELETE、PATCH、HEAD 方法
  • WITS 系统认证:自动登录、Token 缓存与刷新
  • 异步实现:基于 httpxfastmcp,高性能异步处理
  • RSA 加密:使用 RSA 公钥加密密码,保障登录安全

可用工具

HTTP 请求工具

工具名称功能说明
http_get发送 GET 请求,支持查询参数和请求头
http_post发送 POST 请求,支持表单数据和 JSON 请求体
http_put发送 PUT 请求
http_delete发送 DELETE 请求
http_patch发送 PATCH 请求
http_head发送 HEAD 请求
http_request通用 HTTP 请求,支持所有方法、认证、重定向等高级配置

WITS 认证工具

工具名称功能说明
wits_get_token获取有效的 WITS Token,自动检查缓存并在过期时重新登录

配置方法

方法一:使用 uvx 从 Git 安装(推荐)

{ "mcpServers": { "wits-client": { "command": "uvx", "args": [ "git+https://cnb.cool/zkcy.net.cn/mcp/wits-client.git" ], "env": { "WITS_BASE_URL": "https://test.wits.zkcy.net.cn", "WITS_USERNAME": "<你的用户名>", "WITS_PASSWORD": "<你的密码>" } } } }

方法二:本地开发模式

{ "mcpServers": { "wits-client": { "command": "uv", "args": [ "--directory", "/path/to/wits-client", "run", "main.py" ] } } }

环境变量

变量名必填说明
WITS_BASE_URLWITS 系统地址(如 https://test.wits.zkcy.net.cn
WITS_USERNAME登录用户名
WITS_PASSWORD登录密码
WITS_TOKEN_FILEToken 缓存文件路径(默认使用系统临时目录)

提示:环境变量可以被工具参数覆盖,方便灵活配置。

使用示例

1. 获取 WITS Token

请帮我登录 WITS 系统

AI 助手会调用 wits_get_token 工具:

wits_get_token( base_url="https://test.wits.zkcy.net.cn", username="your_username", password="your_password" )

返回示例:

{ "status": "success", "message": "使用缓存的有效 Token", "token": "eyJ0eXAiOiJK...", "token_file": "/tmp/wits/wits_token.json" }

2. 使用 Token 访问 WITS API

登录成功后,可以在 HTTP 请求头中添加 Authorization: Bearer <token>

请帮我查询任务编号为 2024-001 的查新任务

AI 助手会执行:

http_get( url="https://test.wits.zkcy.net.cn/search/search_tasks/", params={"task_num": "2024-001"}, headers={"Authorization": "Bearer eyJ0eXAiOiJK..."} )

3. 通用 HTTP 请求

请帮我发送一个 POST 请求到 https://api.example.com/data, 请求体为 {"name": "test", "value": 123}

Token 缓存机制

  • Token 自动缓存到本地文件,避免重复登录
  • 默认缓存路径:
    • Windows%TEMP%\wits\wits_token.json
    • macOS~/Library/Caches/wits/wits_token.json
    • Linux/tmp/wits/wits_token.json
  • 调用 wits_get_token 时自动检查 Token 是否过期
  • 过期或无效时自动重新登录

开发指南

环境要求

  • Python >= 3.11
  • uv 包管理器

安装依赖

uv sync

本地运行

uv run main.py

代码结构

wits-client/ ├── main.py # MCP 服务主文件(包含所有工具) ├── pyproject.toml # 项目配置和依赖管理 ├── README.md # 项目文档 └── skills/ # 历史技能文档(已弃用)

技术栈

依赖版本用途
fastmcp>= 3.2.4MCP 服务框架
httpx>= 0.28.1异步 HTTP 客户端
pycryptodome>= 3.21.0RSA 加密(WITS 登录)