Token导航 LogoToken导航TokenDH.com
Modgov MCP Server logo
AI代理stdio官方级别未说明来源级核验

Modgov MCP Server

MCP Server

@modelcontextprotocol/inspector

一个提供英国地方议会数据的MCP服务器,包括议员信息、委员会详情、会议安排、选举结果和教区议会数据。

工具数

18

提示词数

0

GitHub Stars

0

资源数

0
数据抓取TypeScriptClaudeClaude DesktopClaudeCursorVS Code

安装说明

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

作者 / 组织

jadu

提供方

jadu

最后核验

2026/5/17 20:20

运行时

Node.js

快速接入

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

命令预览

npx @modelcontextprotocol/inspector node dist/index.js

详细介绍

Modgov MCP服务器

一个全面的模型上下文协议(MCP)服务器,提供对modgov议会API的访问,用于检索英国地方议会的议员信息、委员会详细信息、会议日程、选举结果和教区议会数据。

目录

- 先决条件 - 构建与运行 -

- 参数要求不匹配 - 应用了自动解决方案 - 测试结果

- 测试结构 - 运行测试 - 测试结果

- OpenAPI/Swagger规范 - 开发人员资源

- -

- STDIO传输(默认) - HTTP传输(流式传输) - MCP检查员

- - HTTP API终结点 -

- 议员信息 - 治理与委员会 - 活动和日历 - 地方政府结构 - 选举与民主 - 数字服务 - 理事会发现与管理

- 议员信息 - 治理与委员会 - 地方政府结构

- 开发环境 - 运行测试 - 建筑 - 停止开发环境

- 生产容器 - - MCP服务器行为

- 完整的理事会数据库 - 覆盖率统计 - 已验证的工作示例 - 特别功能 - 议会发现

- 快速测试 - 配置说明 - MCP客户端配置

快速开始

先决条件

  • Node.js (18+版本)
  • Docker&Docker编写 (用于生产部署)

构建与运行

  1. 克隆和构建:
   git clone 
   cd modgov-mcp-server
   npm install
   npm run build
  1. 使用STDIO传输运行:
   node dist/index.js
  1. 使用HTTP传输运行:
   MCP_TRANSPORT=http node dist/index.js
   # Server available at: http://localhost:3003/mcp
  1. MCP检验员测试:
   npx @modelcontextprotocol/inspector node dist/index.js

Docker部署

对于生产部署,请使用Docker:

# Build and run
make build && make up

# Server available at: http://localhost:3003/mcp
# Health check: http://localhost:3003/health

特性

  • 100%成功率:9/9端点功能齐全,具有自动服务器错误解决方法
  • API全面覆盖:所有主要的ModGov端点(议员、委员会、会议、选举等)
  • 多站点支持:在3个英国议会网站(利奇菲尔德、柯克利斯、利物浦)进行了测试
  • 服务器错误处理:WSDL与实际服务器差异的自动解决方法
  • 灵活查询:访问议会数据的多种方式(按选区、委员会、日期等)
  • 速率限制:内置速率限制(每个域每秒1个请求)以防止API滥用
  • 错误处理:强大的错误处理,带有有意义的错误消息
  • 理事会查询:智能模糊匹配,按名称或地区查找议会

🚨 关键服务器错误解决方法

存在重大差异 在官方WSDL文档和实际的ModGov服务器实现之间。此MCP服务器自动处理以下问题:

参数要求不匹配

WSDL中标记为“可选”的许多参数是 实际需要 按服务器:

端点WSDL显示可选实际必需
GetMeetingssFromDate, sToDate必需
GetAllMeetingsByDatelCommitteeId, bIsAscendingDateOrder必需
GetCalendarEventsbGlobalCalendar, lUserId必需
GetWebCastMeetingslCommitteeId, sFromDate, sToDate必需
GetElectionResultslElectionId必需
GetMpOrMepsAndWardsbIsMPs必需

应用了自动解决方案

MCP服务器透明地应用这些修复程序:

  • 缺少日期:默认为当前年份范围(YYYY-01-01YYYY-12-31)
  • 缺少委员会ID:默认内阁(138)
  • 缺少布尔标志:提供合理的默认值(true 用于全球日历等)
  • 缺少用户ID:公共访问默认为0

测试结果

理事会工作终点成功率
利奇菲尔德DC9/9100%
科克里斯9/9100%
利物浦9/9100%

所有测试的站点都显示相同的服务器错误,并且都会自动处理。

🧪 测试

测试结构

tests/
├── integration/        # End-to-end integration tests
├── debugging/         # Debug and investigation scripts
├── utils/            # Utility test scripts
└── README.md         # Test documentation

运行测试

单元测试(在Docker中)

# Run Jest unit tests in Docker container
make test

# Or use Docker Compose directly
docker-compose run --rm modgov-mcp-server npm test

集成测试(在Docker中)

# Test all 9 endpoints end-to-end in Docker
docker-compose run --rm modgov-mcp-server npm run test:integration

调试测试(在Docker中)

# Investigate endpoint compatibility across sites
docker-compose run --rm modgov-mcp-server npm run test:debug

# Verify parameter handling
docker-compose run --rm modgov-mcp-server npm run test:params

测试结果

  • ✅ 100%成功率:9/9个端点正常工作
  • ✅ 服务器错误解决方法:自动处理所有WSDL差异
  • ✅ 跨站点兼容性:在3个议会网站上进行了测试

📚 文档

OpenAPI/Swagger规范

  • 文件: modgov-openapi-spec.yaml
  • 状态: ✅ 完整且权威
  • 覆盖:所有9个受支持的端点都有真实世界的示例
  • 特性:

- 明确记录服务器错误解决方法 - 请求/响应示例 - 参数验证规则 - 跨站点兼容性说明

开发人员资源

  • 稳健性报告: MCP_ROBUSTNESS_REPORT.md -测试和性能细节
  • 测试文档: tests/README.md -完整的测试套件指南
  • 实现说明:服务器错误解决方法和最佳实践(见上文部分)

安装

原生Node.js(推荐用于开发)

# Clone and install
git clone 
cd modgov-mcp-server
npm install
npm run build

# Run with STDIO transport (default)
node dist/index.js

# Run with HTTP transport
MCP_TRANSPORT=http node dist/index.js

Docker(推荐用于生产环境)

# Using Makefile (recommended)
make build && make up

# Or using Docker Compose directly
docker-compose up --build

可用的生成命令:

  • make build -塑造生产形象
  • make up -开始生产容器
  • make test -在容器中运行测试
  • make logs -查看容器日志
  • make clean -删除容器和图像
  • make shell -打开容器中的shell进行调试

MCP传输选项

Modgov MCP服务器支持STDIO和HTTP传输:

STDIO传输(默认)

非常适合开发和MCP客户端集成:

# Start with STDIO transport
node dist/index.js

# Test with MCP Inspector
npx @modelcontextprotocol/inspector node dist/index.js

STDIO传输特性:

  • 默认传输模式
  • 交互式stdin/stdout通信
  • 非常适合MCP客户端(Claude Desktop、Cursor等)
  • 客户端断开连接后终止

HTTP传输(流式传输)

非常适合web服务和API集成:

# Start with HTTP transport
MCP_TRANSPORT=http node dist/index.js

# Or with custom port
MCP_TRANSPORT=http MCP_PORT=3005 node dist/index.js

HTTP传输端点:

  • MCP协议: http://localhost:3003/mcp
  • 健康检查: http://localhost:3003/health

HTTP传输特性:

  • 作为持久web服务器运行
  • 基于HTTP的RESTful MCP协议
  • 支持流式响应
  • 内置健康监测

MCP检查员

使用官方MCP检查器测试您的服务器:

# For STDIO transport (default)
npx @modelcontextprotocol/inspector node dist/index.js

# For HTTP transport
npx @modelcontextprotocol/inspector http://localhost:3003/mcp

检查员提供:

  • ✅ 交互式工具测试
  • ✅ 协议验证
  • ✅ 请求/响应调试
  • ✅ 模式验证

用法

Docker(生产)

使用HTTP传输进行生产

# Build and run production container
make build && make up

# Or using Docker Compose directly
docker-compose up --build modgov-mcp-server

当容器启动时,服务器在端口3003上以HTTP模式自动启动。

HTTP API终结点

MCP服务器在Docker中运行,并在端口3003上公开这些端点:

MCP协议端点

POST http://localhost:3003/mcp
Content-Type: application/json

# Example request
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_councillors",
    "arguments": {
      "site_url": "https://democracy.lichfielddc.gov.uk/mgWebService.asmx?WSDL"
    }
  }
}

健康检查端点

GET http://localhost:3003/health

# Response
{
  "status": "healthy",
  "timestamp": "2025-01-11T10:20:30.000Z",
  "server": "modgov-mcp-server",
  "version": "1.0.0",
  "transport": "streamable-http"
}

Docker日志

MCP服务器包括在Docker中运行时所有工具调用的全面日志记录:

# View real-time logs
docker logs modgov-mcp-server --follow

# View recent logs
docker logs modgov-mcp-server --tail 20

日志输出示例:

🛠️  Tool called: get_councillors_by_ward
📍 Parameters: site_url=https://democracy.lichfielddc.gov.uk/mgWebService.asmx
✅ Tool completed: get_councillors_by_ward (1280ms)

🛠️  Tool called: get_committees
📍 Parameters: site_url=https://democracy.lichfielddc.gov.uk/mgWebService.asmx
✅ Tool completed: get_committees (320ms)

每个工具调用日志:

  • 🔧 工具启动 带有表情符号和工具名称
  • 📍 参数 传递给工具
  • 完成 执行时间(毫秒)

MCP服务器运行在 http://localhost:3003/mcp 并支持用于测试所有注册工具的完整MCP协议。

港口冲突解决方案: 如果遇到端口冲突:

# Stop all containers
make down

# Or manually kill processes on ports 3003, 6274, 6277
lsof -ti:3003,6274,6277 | xargs kill -9 2>/dev/null || true

停止服务器:

# Stop the Docker container
make down

# Or use Docker Compose directly
docker-compose down

故障排除:

  • 检查容器日志: make logs
  • 验证容器是否正在运行: docker ps
  • 测试健康终点: curl http://localhost:3003/health

可用工具

MCP服务器公开 18工具 查询modgov议会API并查找议会:

议员信息(无需解决方案)

  • get_councillors_by_ward -按选区组织所有议员,并附上照片和政治派别
  • get_councillors_by_ward_id -获取议员的特定选区ID
  • get_councillors_by_postcode -获取特定邮政编码的议员
  • get_councillor_details -获取全面的议员资料,包括手术时间和联系方式

治理和委员会(应用自动解决方案)

  • get_committees -召集所有委员会(内阁、议会、规划等)
  • get_meetings -获取具有自动日期范围默认值的会议⚙️
  • get_meeting -按ID获取特定会议的详细信息
  • get_all_meetings_by_date -获取具有委员会默认值的特定日期的会议⚙️

事件和日历(应用自动解决方案)

  • get_calendar_events -通过自动参数处理获取日历事件⚙️

地方政府结构(无需解决方案)

  • get_parish_councils -获取教区议会及其信息

选举与民主(应用自动解决方案)

  • get_election_results -使用所需的选举ID获取选举结果⚙️

数字服务(应用自动解决方案)

  • get_webcast_meetings -获取带有日期和委员会默认值的网络直播会议⚙️
  • get_mp_or_meps_and_wards -通过布尔标志处理获取MP/MEP信息⚙️
  • get_mp_or_mep_and_wards_by_postcode -获取特定邮政编码的MP/MEP信息⚙️

理事会发现与管理

  • find_council -使用模糊匹配按名称查找议会
  • search_councils -搜索具有信任阈值的议会
  • get_council_by_region -获取特定地区的所有议会
  • get_server_diagnostics -获取服务器诊断信息

⚙️ *应用了自动服务器错误解决方法* | ✅ *所有工具均已测试并正常工作*

工具使用示例

所有工具都需要 site_url 指向理事会modgov API端点的参数。

议员信息

按选区获取所有议员:

{
  "site_url": "https://democracy.lichfielddc.gov.uk/mgWebService.asmx?WSDL"
}

为特定选区寻找议员:

{
  "site_url": "https://democracy.lichfielddc.gov.uk/mgWebService.asmx?WSDL",
  "ward_id": 1
}

通过邮政编码获取议员信息:

{
  "site_url": "https://democracy.lichfielddc.gov.uk/mgWebService.asmx?WSDL",
  "postcode": "WS14 9AB"
}

治理与委员会

召集所有委员会:

{
  "site_url": "https://democracy.lichfielddc.gov.uk/mgWebService.asmx?WSDL"
}

为特定委员会安排会议:

{
  "site_url": "https://democracy.lichfielddc.gov.uk/mgWebService.asmx?WSDL",
  "committee_id": 1
}

按ID获取特定会议:

{
  "site_url": "https://democracy.lichfielddc.gov.uk/mgWebService.asmx?WSDL",
  "meeting_id": 123
}

地方政府结构

联系教区议会:

{
  "site_url": "https://democracy.lichfielddc.gov.uk/mgWebService.asmx?WSDL"
}

## Response Format

The tool returns JSON data with the following structure:

{ "site_url": "https://democracy.lichfielddc.gov.uk/mgWebService.asmx?WSDL", "total_wards": 25, "total_councillors": 47, "wards": [ { "ward_name": "Alrewas and Fradley", "councillor_count": "3", "councillors": [ { "id": "570", "name": "Councillor Sonia Claverley", "party": "The Conservative Party", "group": "Conservative Group", "district": "Lichfield District Council", "representing": "Lichfield District Council", "photos": { "small": "https://democracy.lichfielddc.gov.uk/UserData/0/7/5/Info00000570/smallpic.jpg", "large": "https://democracy.lichfielddc.gov.uk/UserData/0/7/5/Info00000570/bigpic.jpg" }, "additional_info": "...", "key_posts": "..." } ] } ] }


## 速率限制

服务器实现每个域每秒1个请求的速率限制,以防止滥用并遵守API限制。

## 错误处理

服务器提供全面的错误处理:

- **网络错误**:连接超时、DNS解析失败
- **API错误**:响应无效,XML格式错误
- **速率限制**:使用指数回退自动重试
- **验证错误**:参数无效,缺少必填字段

## 发展

### 开发环境

所有开发都在Docker容器中进行:

Start development environment with live code mounting

make dev

This mounts your source code and provides hot reloading


### 运行测试

#### 单元测试(在Docker中)

Run Jest unit tests in development container

make test

Or run tests in watch mode for development

docker-compose --profile dev exec modgov-mcp-dev npm run test:watch


#### 集成测试(在Docker中)

使用真实的API调用测试完整的MCP服务器功能:

Start development environment (Terminal 1)

make dev

Run integration tests (Terminal 2)

docker-compose --profile dev exec modgov-mcp-dev npm run test:mcp


集成测试包括:

- 健康终点验证
- MCP协议合规性
- 工具发现和执行
- 理事会数据检索和验证

看 [TEST_README.md](TEST_README.md) 获取详细的测试文档。

### 建筑

构建过程在Docker容器中自动发生:

Manual build in container

docker-compose --profile dev exec modgov-mcp-dev npm run build


### 停止开发环境

Stop development containers

make down


这将停止所有开发容器并清理资源。

## Docker配置

### 生产容器

生产容器针对部署进行了优化:

docker build -t modgov-mcp-server . docker run -p 3003:3003 modgov-mcp-server


**特征:**

- 多阶段构建,实现最小图像尺寸
- 非root用户安全
- 健康检查
- 仅生产依赖性
- 始终使用HTTP传输在端口3003上运行

### 测试Docker设置

验证你的Docker容器是否正常工作:

Build and test

make build make up

Check health endpoint

curl http://localhost:3003/health


**预期的健康反应:**

{ "status": "healthy", "timestamp": "2025-01-11T10:20:30.000Z", "server": "modgov-mcp-server", "version": "1.0.0", "transport": "streamable-http" }


### MCP服务器行为

**重要提示:** MCP服务器在Docker容器内以HTTP模式连续运行。这与stdio模式不同,在stdio模式下,服务器在每次请求后都会退出。

- 服务器保持运行并侦听端口3003
- 每个MCP请求都通过HTTP处理
- 容器将显示为 `running` (未退出)
- 使用 `make logs` 监视服务器输出

## 建筑

服务器由三个主要组件组成:

1. **ModgovClient**:处理对modgov API的HTTP请求、XML解析和速率限制
1. **摩登派青年**:MCP服务器实现,包括工具注册和请求处理
1. **类型定义**:API响应和数据结构的TypeScript接口

## 支持的议会网站

服务器使用 **任何支持modgov的议会网站**。我们的数据库包括 **44个经过验证的委员会** 在英国所有地区。

### **完整的理事会数据库**

|议会|地区|类型|URL|
|---------|--------|------|-----|
| **巴斯和东北萨默塞特议会** |西南部|统一管理局|https://democracy.bathnes.gov.uk/ |
| **布伦特伍德自治市议会** |英格兰东部|自治市议会|https://brentwood.moderngov.co.uk/ |
| **布莱顿霍夫市议会** |东南部|市议会|https://democracy.brighton-hove.gov.uk/ |
| **布里斯托尔市议会** |西南部|市议会|https://democracy.bristol.gov.uk/ |
| **白金汉郡议会** |英格兰东部|统一权威|https://buckinghamshire.moderngov.co.uk/ |
| **剑桥市议会** |英格兰东部|市议会|https://democracy.cambridge.gov.uk/ |
| **卡迪夫议会** |威尔士|统一管理局|https://cardiff.moderngov.co.uk/ |
| **奇切斯特区议会** |东南|区议会|https://chichester.moderngov.co.uk/ |
| **林肯市议会** |东米德兰兹|市议会|https://lincoln.moderngov.co.uk/ |
| **伍尔弗汉普顿市议会** |西米德兰兹郡|大都会区|https://wolverhampton.moderngov.co.uk/ |
| **约克市议会** |约克郡和亨伯市议会https://democracy.york.gov.uk/ |
| **考文垂市议会** |西米德兰兹郡|市议会|https://edemocracy.coventry.gov.uk/ |
| **东汉普郡区议会** |东南|区议会|https://easthants.moderngov.co.uk/ |
| **大伦敦管理局(GLA)** |伦敦|联合管理局|https://gla.moderngov.co.uk/ |
| **黑斯廷斯自治市议会** |东南|自治市议会|https://hastings.moderngov.co.uk/ |
| **利兹市议会** |约克郡和亨伯市议会https://democracy.leeds.gov.uk/ |
| **莱斯特郡议会** |东米德兰兹郡议会https://democracy.leics.gov.uk/ |
| **利奇菲尔德区议会** |西米德兰兹郡|区议会|https://lichfield.moderngov.co.uk/ |
| **利物浦市议会** |西北部|市议会|https://councillors.liverpool.gov.uk/ |
| **巴纳区** |伦敦|伦敦自治市|https://barnet.moderngov.co.uk/ |
| **英国伦敦布伦特区** |伦敦|伦敦自治市|https://democracy.brent.gov.uk/ |
| **自治市** |伦敦|伦敦自治市|https://camden.moderngov.co.uk/ |
| **伦敦克罗伊登区** |伦敦|伦敦自治市|https://croydon.moderngov.co.uk/ |
| **伦敦哈林盖区** |伦敦|伦敦自治市|https://www.minutes.haringey.gov.uk/ |
| **伦敦哈罗区** |伦敦|伦敦自治市|https://moderngov.harrow.gov.uk/ |
| **伦敦哈弗林区** |伦敦|伦敦自治市|https://democracy.havering.gov.uk/ |
| **伦敦Hounslow区** |伦敦|伦敦自治市|https://democraticservices.hounslow.gov.uk/ |
| **伊斯林顿伦敦自治市** |伦敦|伦敦自治市|https://islington.moderngov.co.uk/ |
| **伦敦南华克区** |伦敦|伦敦自治市|https://moderngov.southwark.gov.uk/ |
| **伦敦萨顿区** |伦敦|伦敦自治市|https://moderngov.sutton.gov.uk/ |
| **陶尔哈姆莱茨区** |伦敦|伦敦自治市|https://democracy.towerhamlets.gov.uk/ |
| **梅德韦委员会** |东南部|统一管理局|https://democracy.medway.gov.uk/ |
| **纽卡斯尔市议会** |东北|市议会|https://democracy.newcastle.gov.uk/ |
| **朴茨茅斯市议会** |东南部|市议会|https://democracy.portsmouth.gov.uk/ |
| **泰晤士河畔金斯顿皇家自治市** |伦敦|皇家自治市|https://kingston.moderngov.co.uk/ |
| **谢菲尔德市议会** |约克郡和亨伯市议会https://democracy.sheffield.gov.uk/ |
| **南剑桥郡区议会** |英格兰东部|区议会|https://scambs.moderngov.co.uk/ |
| **三江区议会** |英格兰东部|区议会|https://moderngov.threerivers.gov.uk/ |
| **白马谷区议会** |东南|区议会|https://democratic.whitehorsedc.gov.uk/ |
| **沃里克郡议会** |西米德兰兹郡议会https://warwickshire.moderngov.co.uk/ |
| **沃特福德区议会** |英格兰东部|自治市议会|https://watford.moderngov.co.uk/ |
| **英格兰西部联合管理局** |西南部|联合管理局|https://westofengland-ca.moderngov.co.uk/ |
| **威勒尔委员会** |西北|大都会区|https://wirral.moderngov.co.uk/ |
| **伍斯特郡议会** |西米德兰兹郡议会https://worcestershire.moderngov.co.uk/ |

### **覆盖率统计**

- **理事会总数**: 44
- **覆盖区域**:11(英国所有地区)
- **议会类型**:10种不同的权限类型
- **测试站点**:3(利奇菲尔德、柯克利斯、利物浦-100%成功率)

### **已验证的工作示例**

|理事会|URL|委员会ID|备注|
|---------|-----|---------------|-------|
| **利奇菲尔德区议会** | `https://democracy.lichfielddc.gov.uk/mgWebService.asmx?WSDL` |内阁:138,议会:136,规划:135 |主要试验场|
| **柯克利斯议会** | `http://democracy.kirklees.gov.uk/mgWebService.asmx?WSDL` |相同模式|相同行为|
| **利物浦市议会** | `https://democracy.liverpool.gov.uk/mgWebService.asmx?WSDL` |相同模式|相同行为|
| **伦敦萨顿区** | `https://moderngov.sutton.gov.uk/mgWebService.asmx` |完整的端点文档|全面的API测试|

### **特别功能**

- **伦敦萨顿区**:包括详细的端点文档,包括参数规范、响应格式和工作示例
- **议会发现**:内置模糊匹配功能,可按名称查找议会(`find_council`)
- **区域搜索**:查找特定地区的所有议会(`get_council_by_region`)
- **信心评分**:使用可配置的置信阈值进行搜索(`search_councils`)

### **议会发现**

使用内置的议会查找工具:

Find a specific council

curl -X POST http://localhost:3003/mcp \ -H "Content-Type: application/json" \ -d '{"method": "tools/call", "params": {"name": "find_council", "arguments": {"council_name": "Leeds"}}}'

Search councils by region

curl -X POST http://localhost:3003/mcp \ -H "Content-Type: application/json" \ -d '{"method": "tools/call", "params": {"name": "get_council_by_region", "arguments": {"region": "West Midlands"}}}'


## API发现

要发现特定议会网站的可用操作,您可以检查WSDL:

curl "https://democracy.lichfielddc.gov.uk/mgWebService.asmx?WSDL" | grep -i "council"


## 例子

看 [`examples/`](./examples/) 完整配置示例的目录:

- **光标**: `examples/cursor-mcp.json`
- **克劳德桌面版**: `examples/claude-desktop-config.json`
- **VS Code**: `examples/vscode-mcp.json`
- **Docker生产**: `examples/docker-compose.production.yml`
- **Nginx配置**: `examples/nginx.conf`
- **测试客户端**: `examples/test-mcp-client.js`
- **邮差收藏**: `examples/postman-collection.json`
- **环境配置**: `examples/env-example.txt`

### 快速测试

使用提供的脚本测试您的设置:

./examples/test-setup.sh


### 配置说明

MCP服务器支持原生Node.js执行和Docker部署。选择与部署方法匹配的配置。

### MCP客户端配置

选择与您的传输偏好相匹配的配置:

**✅ HTTP传输(建议用于生产环境):**

{ "mcpServers": { "modgov-council": { "url": "http://localhost:3003/mcp", "headers": { "Content-Type": "application/json", "Accept": "application/json, text/event-stream" } } } }


**✅ STDIO运输(建议开发):**

{ "mcpServers": { "modgov-council": { "command": "node", "args": ["dist/index.js"], "cwd": "/path/to/modgov-mcp-server" } } }


**服务器要求:**

**对于HTTP传输:**

- 启动服务器: `MCP_TRANSPORT=http node dist/index.js`
- 或者使用Docker: `make build && make up`
- 服务器位于: `http://localhost:3003/mcp`
- 健康检查: `curl http://localhost:3003/health`

**对于STDIO传输:**

- 构建项目: `npm run build`
- 客户端将生成: `node dist/index.js`
- 不需要持久服务器

## 🎯 **最佳实践**

1. **始终使用MCP服务器** -它自动处理所有服务器错误
1. **不要只依赖WSDL** -测试实际服务器行为
1. **优雅地处理500个错误** -可能表示服务器错误,而不是客户端错误
1. **使用合理的默认值** -MCP自动提供
1. **跨多个站点进行测试** -行为是一致的,但要验证
1. **使用议会发现工具** -轻松按名称或地区查找议会

## 🔧 **错误处理示例**

// The MCP server handles these automatically, but for direct API usage: try { const result = await modgovClient.getMeetings(siteUrl, 138); } catch (error) { if (error.message.includes('Missing parameter')) { // This indicates a server bug, not client error console.log('Server implementation bug detected - use MCP server instead'); } }


## 贡献

1. 遵循TDD原则——先编写测试
1. 在提交之前,确保所有测试都通过
1. 添加具有全面测试覆盖率的新功能
1. 针对任何API更改更新文档

## 许可证

麻省理工学院

目录标签

目录标签

数据抓取TypeScriptClaude议会数据本地部署政府APIMCP协议英国政府

支持客户端

Claude DesktopClaudeCursorVS Code

接入字段

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

stdio

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

none

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

@modelcontextprotocol/inspector

工具数量(toolCount,工具数)

18

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP