Token导航 LogoToken导航TokenDH.com
Mp Writer MCP Server logo
运维云端stdio官方级别未说明来源级核验

Mp Writer MCP Server

MCP Server

一个基于Rust实现的OpenAI MCP兼容服务,提供英国议会数据和研究聚合功能,支持JSON-RPC接口,适用于政策研究和立法分析。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
Rust云端部署Docker

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

CryptoAutistic80

提供方

CryptoAutistic80

最后核验

2026/5/17 20:20

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

docker run --rm \

详细介绍

深入研究MCP服务器

Rust语言的实现 OpenAI MCP–一种兼容服务,通过JSON-RPC接口提供英国议会数据和研究聚合器。该服务器通过提供关于议员、法案、投票和立法的最新信息,支持深度研究工作流程。

______________________________________________________________________

概述

  • JSON-RPC 2.0 终点位于 /api/mcp 和;与;带有 initializelist_tools,和 call_tool.
  • 认证 通过强制手段 x-api-key 头球
  • 缓存 由Sled(持久化)加上内存中请求缓存包装器提供支持。
  • 工具

- parliament.fetch_core_dataset - parliament.fetch_bills - parliament.fetch_legislation - parliament.fetch_mp_activity - parliament.fetch_mp_voting_record - parliament.lookup_constituency_offline - parliament.search_uk_law - research.run – 协调使用三种数据工具,并返回包含建议的撰写简报。 - utilities.current_datetime

______________________________________________________________________

要求

  • Rust 1.75+(仅适用于本地构建)
  • Cargo(随 Rust 一起提供)
  • Docker / Docker Compose(可选,用于容器化部署)
  • OpenAI深度研究访问权限(用于集成)

______________________________________________________________________

配置

所有配置均由环境变量(或一个 .env 文件)。创建文件的最快方式是:

cp .env.example .env
./scripts/generate-api-key.sh   # optional helper; updates MCP_API_KEY
变量描述默认值
MCP_API_KEY必填。 共享密钥呈现于 x-api-key 头球
MCP_SERVER_PORT HTTP服务器暴露的TCP端口。4100
MCP_DISABLE_PROXYtrue 禁用Reqwest客户端的出站代理使用。false
CACHE_ENABLED内存中HTTP缓存的主开关。true
CACHE_TTL_MEMBERS 成员数据集调用的缓存TTL(秒)。3600
CACHE_TTL_BILLS 账单查询的缓存TTL(生存时间)。1800
CACHE_TTL_LEGISLATION立法信息馈送的缓存TTL(生存时间)。7200
CACHE_TTL_DATA其他链接数据集(如部门、辩论等)的缓存TTL(生存时间)。1800
CACHE_TTL_RESEARCHSled中持久化研究摘要的TTL(生存时间)。604800 (7天)
CACHE_TTL_ACTIVITY 缓存MP活动响应的TTL(秒)。21600 (6小时)
CACHE_TTL_VOTES 缓存投票记录响应的TTL(生存时间)。21600 (6小时)
CACHE_TTL_CONSTITUENCY离线选区查询的TTL(生存时间)。86400 (24小时)
RELEVANCE_THRESHOLD 聚合器使用的默认相关性得分阈值。0.3
MCP_DB_PATH 存储Sled数据库的文件夹。./data/db
注: 更改配置后重启服务器——配置值在启动时读取。

______________________________________________________________________

本地运行(Cargo)

# 1. Clone & configure
git clone https://github.com//mp-writer-mcp-server.git
cd mp-writer-mcp-server
cp .env.example .env          # or use scripts/generate-api-key.sh

# 2. Launch the server
cargo run

服务器监听在 0.0.0.0:4100 默认情况下。健康检查: curl http://localhost:4100/api/health

______________________________________________________________________

使用 Docker 运行

构建

docker build -t deep-research-mcp .

运行(独立)

docker run --rm \
  -p 4100:4100 \
  --env-file .env \
  deep-research-mcp

使用 Docker Compose 运行

docker compose up --build

编辑 docker-compose.yml 或者 .env 自定义端口绑定或配置。使用 docker compose down 停止。

______________________________________________________________________

可用工具

工具用途关键参数
parliament.fetch_core_dataset 查询传统的链接数据集(成员、部门、辩论等)。dataset (必填), searchTermpageperPageenableCachefuzzyMatchapplyRelevancerelevanceThreshold
parliament.fetch_bills 搜索带版本的账单API以查找当前或过去的账单。searchTermhousesessionparliamentNumberenableCacheapplyRelevancerelevanceThreshold
parliament.fetch_legislation 查询legislation.gov.uk的Atom订阅源,以匹配相关的法案/命令。titleyear (大于等于1800), typeenableCacheapplyRelevancerelevanceThreshold
parliament.fetch_mp_activity针对特定议员的近期辩论、问题及其他活动。mpId (必填), limitenableCache
parliament.fetch_mp_voting_record汇总一名议员的投票记录,可选日期/法案过滤器。mpId (必填), fromDatetoDatebillIdlimitenableCache
parliament.lookup_constituency_offline将邮政编码解析为其所属的威斯敏斯特选区及现任议员(尽力而为)。postcode (必填), enableCache
parliament.search_uk_law 按标题关键词搜索英国的初级/次级立法。query (必填), legislationTypelimitenableCache
research.run检索法案、辩论记录、立法内容、投票情况、政党状况,并撰写简报。当信息来源失效时,返回建议。topic (必填), billKeywordsdebateKeywordsmpIdincludeStateOfPartieslimit
utilities.current_datetime返回当前的UTC时间戳和Europe/London时区的时间戳。无对应中文翻译,此符号在中文中通常表示分隔或省略,具体含义需根据上下文确定

每个工具都会以上游的JSON有效载荷作为响应。 research.run 返回一个结构化的DTO(数据传输对象)并包含 summary数据向量,以及 advisories

______________________________________________________________________

测试API,使用 curl

替换 YOUR_API_KEY 使用您提供的值 .env

# 1. List tools
curl -sS http://localhost:4100/api/mcp \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{"jsonrpc":"2.0","id":1,"method":"list_tools","params":{}}' | jq

# 2. research.run example
curl -sS http://localhost:4100/api/mcp \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
        "jsonrpc":"2.0",
        "id":2,
        "method":"call_tool",
        "params":{
          "name":"research.run",
          "arguments":{
            "topic":"climate change",
            "billKeywords":["climate action"],
            "debateKeywords":["climate debate"],
            "includeStateOfParties":true,
            "limit":5
          }
        }
      }' | jq '.result.content[0].json'

# 3. Members lookup (Commons only)
curl -sS http://localhost:4100/api/mcp \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
        "jsonrpc":"2.0",
        "id":3,
        "method":"call_tool",
        "params":{
          "name":"parliament.fetch_core_dataset",
          "arguments":{
            "dataset":"commonsmembers",
            "searchTerm":"Johnson",
            "page":0,
            "perPage":10,
            "enableCache":true,
            "fuzzyMatch":false,
            "applyRelevance":false
          }
        }
      }' | jq '.result.content[0].json'

# 4. Bills search
curl -sS http://localhost:4100/api/mcp \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
        "jsonrpc":"2.0",
        "id":4,
        "method":"call_tool",
        "params":{
          "name":"parliament.fetch_bills",
          "arguments":{
            "searchTerm":"climate",
            "house":"commons",
            "enableCache":true,
            "applyRelevance":true,
            "relevanceThreshold":0.45
          }
        }
      }' | jq '.result.content[0].json'

# 5. Legislation metadata
curl -sS http://localhost:4100/api/mcp \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
        "jsonrpc":"2.0",
        "id":5,
        "method":"call_tool",
        "params":{
          "name":"parliament.fetch_legislation",
          "arguments":{
            "title":"Human Rights",
            "year":1998,
            "type":"ukpga",
            "enableCache":true,
            "applyRelevance":true,
            "relevanceThreshold":0.3
          }
        }
      }' | jq '.result.content[0].json'

错误响应包含有用信息 error.data 元数据(状态、上游URL、建议文本)有助于故障排除。

______________________________________________________________________

与OpenAI深度研究集成

这台MCP服务器为OpenAI深度研究团队提供了全面的英国议会数据,使得能够利用人工智能进行有关立法、议员、投票记录和议会活动的研究。

先决条件

  1. 服务器正在运行MCP服务器必须(本地或远程)运行,并且具有已知的(配置/状态/等,根据上下文具体确定) MCP_API_KEY
  2. 深度研究访问访问OpenAI深度研究(网页界面或兼容客户端)
  3. 网络连接性深度研究必须能够访问您的服务器

快速设置(网页界面 - 推荐)

  1. 启动您的服务器
   # Using Docker Compose (recommended)
   docker compose up -d

   # Or using Cargo
   cargo run
  1. 开放深度研究

- 首选 深入研究 - 登录您的OpenAI账户

  1. 添加MCP服务器

- 导航至 设置 → 数据源 → 添加MCP服务器 - 名字UK Parliament Research - 基本URLhttp://localhost:4100/api/mcp - 标题/头部信息添加包含以下内容的头部: - 密钥: x-api-key - 价值4da006fc4086f0ae7b93420d34b6b955d5f567805fc887531214ddfeaea7c443

  1. 测试连接

- 点击 测试连接 - 应使用9种可用工具展示成功 - 点击 保存

CLI 配置

对于OpenAI CLI用户,请创建/编辑 ~/.openai/config.json:

{
  "mcpServers": {
    "parliament": {
      "type": "http",
      "url": "http://localhost:4100/api/mcp",
      "headers": {
        "x-api-key": "4da006fc4086f0ae7b93420d34b6b955d5f567805fc887531214ddfeaea7c443"
      }
    }
  }
}

保存配置后,请重启您的OpenAI客户端。

测试集成

样本研究查询

在Deep Research中尝试这些查询以测试集成效果:

"Research recent climate change legislation in the UK Parliament"
"Find information about Boris Johnson's voting record"
"What bills are currently being debated in the House of Commons?"
"Look up constituency information for postcode SW1A 1AA"
"Analyze the current state of parties in Parliament"

监控服务器活动

查看您的服务器日志,以确认Deep Research是否正在调用工具:

# Monitor Docker logs
docker logs -f mp-writer-mcp-server-mcp-server-1

# Or monitor Cargo logs
cargo run

可用于深入研究的工具

工具目的示例用例
parliament.fetch_core_dataset查询议员、表决、辩论“查找所有工党议员”
parliament.fetch_bills搜索当前/过去的法案“哪些气候法案正在生效?”
parliament.fetch_legislation英国立法元数据“查找《人权法案》详情”
parliament.fetch_mp_activity议员近期活动“卡罗琳·约翰逊最近在做什么?”
parliament.fetch_mp_voting_record议员投票记录“鲍里斯·约翰逊在脱欧问题上是如何投票的?”
parliament.lookup_constituency_offline邮编对应选区“SW1A 1AA 对应哪个选区?”
parliament.search_uk_law搜索英国法规“查找所有气候变化相关法律”
research.run综合研究简报“英国净零政策研究”
utilities.current_datetime当前时间(UTC/伦敦)“现在几点了?”

故障排除

连接问题

问题连接测试失败

  • 解决方案验证服务器是否正在运行 curl http://localhost:4100/api/health
  • 检查Docker 容器状态为 docker ps

问题认证错误

  • 解决方案确保标题名称完全正确 x-api-key (区分大小写)
  • 检查API密钥与您在其中的密钥匹配 .env 文件

问题工具未显示

  • 解决方案测试 list_tools 手动设置端点
  • 检查服务器错误日志

网络配置

本地开发

  • 使用 http://localhost:4100/api/mcp
  • 确保Deep Research能够访问本地主机

远程服务器

  • 替换 localhost 使用您的服务器IP/域名
  • 考虑在生产环境中使用HTTPS

Docker 网络:

  • 使用 http://host.docker.internal:4100/api/mcp 如果Deep Research在Docker中运行
  • 或者将端口4100暴露给主机网络

生产部署

用于深度研究的生产环境:

  1. HTTPS 设置
   # Use reverse proxy with SSL
   nginx -t && systemctl reload nginx
  1. API密钥管理
   # Generate new API key
   ./scripts/generate-api-key.sh

   # Update both server and client configs
  1. 监测
   # Set up log monitoring
   docker logs --tail=100 -f mp-writer-mcp-server-mcp-server-1

高级用法

自定义研究工作流程

深度研究可以结合多种工具进行综合分析:

"Research the UK's approach to climate change by analyzing:
1. Current climate bills in Parliament
2. Recent voting records of key MPs
3. Existing climate legislation
4. Current party positions"

与其他工具的集成

MCP服务器与其他深度研究数据源协同工作:

  • 网络搜索结果
  • 文件分析
  • 其他MCP服务器

支持

  • 服务器问题检查 故障排除 部分;章节
  • API 文档可用工具
  • 配置参考 .env.example 对于所有选项

附加文件

______________________________________________________________________

开发与测试

  • 清理或格式化: cargo fmtcargo clippy
  • 单元测试/集成测试: cargo test
  • 研究服务固定装置测试: cargo test --test research_tests

该仓库包含一个 scripts/ 包含辅助实用程序的目录。

______________________________________________________________________

故障排除

  • 401 / 未授权 – 确保 x-api-key 比赛(或匹配,根据上下文可具体翻译为“比赛”或“匹配”) MCP_API_KEY.
  • 来自上游API的404错误 – 服务器将上游URL/状态信息返回 error.data调整查询或查看API更改。
  • Docker 网络 – 当在Docker中运行时,暴露容器端口并使用 http://host.docker.internal:4100/api/mcp 来自主机客户端。
  • Deep Research未列出该服务器 – 在设置中重新运行连接测试,并验证从云端访问时服务器是否可通过HTTPS访问。

______________________________________________________________________

许可证

许可证.

目录标签

目录标签

Rust云端部署Docker议会数据本地部署研究聚合JSON-RPC政策分析立法研究

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

api-key

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdioapi-key部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP