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

Civic MCP

MCP Server

civic-mcp是一个为政府网站设计的WebMCP抽象层,通过安装适配器使AI代理能够自动导航表单、检查资格并提交申请,无需后端更改或供应商配合。

工具数

2

提示词数

0

GitHub Stars

0

资源数

0
JavaScriptClaudeAI代理Claude DesktopClaudeCursor

安装说明

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

作者 / 组织

ctrimm

提供方

ctrimm

最后核验

2026/5/17 20:22

快速接入

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

详细介绍

公民mcp

政府网站的WebMCP抽象层——为任何州或联邦服务安装适配器,让人工智能代理代表公民浏览表单、检查资格和提交申请。

![License: AGPL v3](https://www.gnu.org/licenses/agpl-3.0) ![Chrome 146+](https://developer.chrome.com/blog/webmcp-epp) ![WebMCP](https://webmachinelearning.github.io/webmcp/) ![PRs Welcome](CONTRIBUTING.md)

______________________________________________________________________

问题

政府网站是为人们点击表格而建立的。试图帮助公民导航的人工智能代理必须求助于屏幕截图解析、脆弱的DOM抓取和脆弱的点击序列——烧毁令牌、在每次UI更新时中断,并让最需要帮助的人失望。

与此同时,构建这些门户的供应商没有动机公开API。采购锁定意味着集成层永远无法构建。

解决方案

civic-mcp 注入薄薄的 WebMCP 通过Chrome扩展程序将抽象层导入政府网站。该站点公开了结构化的、可调用的工具,而不是由代理猜测单击哪个按钮,代理直接使用它们。

没有后端更改。没有供应商合作。没有多年API开发项目。

Before: agent → screenshot → vision model → click → hope it worked
After:  agent → civic-mcp → registerTool() → execute() → structured JSON

适配器由社区贡献并独立维护,每个政府站点一个。你只安装你需要的东西。

______________________________________________________________________

快速开始

先决条件

  • Chrome 146+(或Chrome Canary)
  • 启用 用于测试的WebMCPchrome://flags

安装扩展

# Option 1: Chrome Web Store (coming soon)

# Option 2: Build from source
git clone https://github.com/civic-mcp/civic-mcp.git
cd civic-mcp
npm install
npm run build:extension

然后加载 packages/extension/dist 作为未打包的扩展,通过 chrome://extensions.

安装适配器

打开扩展弹出窗口并单击 浏览适配器,或通过CLI安装:

npm install -g @civic-mcp/cli

civic-mcp install gov.colorado.peak
civic-mcp install gov.california.getcalfresh
civic-mcp install gov.federal.ssa

连接到AI代理

通过Chrome DevTools桥连接任何兼容MCP的客户端(Claude Desktop、Cursor、自定义代理):

{
  "mcpServers": {
    "civic-mcp": {
      "command": "npx",
      "args": ["@mcp-b/chrome-devtools-mcp@latest"]
    }
  }
}

然后在Chrome中打开Colorado PEAK并询问Claude:

*“检查科罗拉多州一个月收入2400美元的3口之家是否有资格获得SNAP和医疗补助。”*

______________________________________________________________________

可用适配器

国家福利

适配器状态程序状态
gov.colorado.peak科罗拉多州SNAP、医疗补助、科罗拉多工厂、CHP+✅ 已验证
gov.california.getcalfresh加利福尼亚州CalFresh(SNAP)✅ 已验证
gov.michigan.bridges密歇根州SNAP、医疗补助、现金🔄 回顾中
gov.texas.yourtexasbenefits德克萨斯州SNAP、TANF、医疗补助、CHIP🔄 回顾中

联邦服务

适配器代理服务状态
gov.federal.ssa社会保障管理福利、残疾、医疗保险🚧 计划中
gov.federal.va退伍军人事务部福利、医疗保健🚧 计划中
gov.federal.benefitsBenefits.gov多程序筛选器🚧 计划中

浏览所有适配器→ 请求适配器→

______________________________________________________________________

仓库结构

civic-mcp/
├── packages/
│   ├── extension/          # Chrome extension (core runtime)
│   │   ├── src/
│   │   │   ├── core/       # Plugin loader, sandbox, registry client
│   │   │   ├── ui/         # Popup, marketplace, settings
│   │   │   └── background/ # Service worker
│   │   └── manifest.json
│   ├── cli/                # civic-mcp CLI for adapter development
│   ├── sdk/                # Adapter development SDK + types
│   └── testing/            # Test harness for adapter authors
├── adapters/               # Community-contributed site adapters
│   ├── gov.colorado.peak/
│   ├── gov.california.getcalfresh/
│   └── .../
├── registry/               # Adapter registry metadata
│   ├── registry.json       # Master adapter list
│   └── verified.json       # Verified publisher list
├── docs/                   # Documentation site source
└── scripts/                # Build and maintenance scripts

______________________________________________________________________

编写适配器

适配器是公民mcp的核心。任何人都可以写一个。最简单的适配器是 纯JSON --不需要JavaScript。

声明式适配器(推荐)

{
  "id": "gov.example.benefits",
  "name": "Example State Benefits",
  "version": "1.0.0",
  "domains": ["benefits.example.gov"],
  "declarative": true,
  "tools": [
    {
      "name": "check_eligibility",
      "description": "Pre-screen eligibility for state benefits",
      "navigation": {
        "url": "https://benefits.example.gov/screener",
        "waitForSelector": "form#screener"
      },
      "inputs": {
        "householdSize": {
          "selector": "input[name='household_size']",
          "type": "number",
          "required": true
        },
        "monthlyIncome": {
          "selector": "input[name='monthly_income']",
          "type": "number",
          "required": true
        }
      },
      "submit": { "selector": "button[type='submit']" },
      "output": {
        "eligible": { "selector": ".result .eligible", "type": "boolean" },
        "message": { "selector": ".result .message", "type": "text" }
      }
    }
  ],
  "permissions": {
    "required": ["read:forms", "write:forms"]
  }
}

JavaScript适配器(复杂工作流)

// adapters/gov.example.benefits/adapter.js
export default {
  id: 'gov.example.benefits',

  async init(context) {
    // Called once when adapter loads on the target page
  },

  tools: [
    {
      name: 'start_application',
      description: 'Begin a new benefits application',
      inputSchema: {
        type: 'object',
        properties: {
          firstName: { type: 'string' },
          lastName: { type: 'string' },
          dateOfBirth: { type: 'string', format: 'date' },
        },
        required: ['firstName', 'lastName', 'dateOfBirth'],
      },

      async execute(params, context) {
        const { page, storage, notify } = context;

        await page.navigate('https://benefits.example.gov/apply');
        await page.fillField('input[name="first_name"]', params.firstName);
        await page.fillField('input[name="last_name"]', params.lastName);
        await page.fillField('input[name="dob"]', params.dateOfBirth);
        await page.click('button#continue');

        const appId = await page.getText('.confirmation-number');
        return { success: true, applicationId: appId };
      },
    },
  ],
};

脚手架新适配器

civic-mcp create adapter

? Adapter ID: gov.newstate.portal
? Name: New State Benefits Portal
? Website: https://portal.newstate.gov
? Programs: SNAP, Medicaid

✓ Created adapters/gov.newstate.portal/

完整适配器开发指南→

______________________________________________________________________

安全模型

适配器信任级别

级别审核能力
🔵 官方政府机构审计+数字签名所有操作
🟢 已验证已知的公民技术组织维护人员的代码审查标准操作
🟡 社区任何人自动扫描+同行评审标准操作

沙盒保证

所有适配器都在安全沙箱中运行,而不管信任级别如何。适配器 不能:

  • 呼叫 eval(), Function(),或 new Function()
  • 制造 fetch() 声明域之外的请求
  • 访问 navigator.modelContext 直接
  • 读取或写入Cookie
  • 访问其他适配器的存储
  • 加载外部脚本

适配器只能通过受控设备进行交互 context API-相当于登录人员可以手动执行的操作。

报告安全问题

通过以下方式私下报告漏洞 安全.md.做 公开安全漏洞问题。

______________________________________________________________________

贡献

我们欢迎各种捐助。

贡献一个适配器 --影响最大的贡献。看 适配器开发指南.

civic-mcp create adapter   # scaffold
civic-mcp test             # test locally
civic-mcp publish          # submit to registry

改进核心扩展 --看 包/扩展/贡献.md.

改进文档 --看 docs/CONTRIBUTING.md.

报告错误或请求适配器 --使用 .

完整贡献指南→

______________________________________________________________________

治理

公民mcp由公民技术组织联盟维护。核心决策是通过以下方式做出的 RFC流程适配器审查由特定领域的工作组处理。

维护.md总经理.

______________________________________________________________________

为什么选择AGPL-3.0?

政府服务是公共产品。使它们更容易访问的软件也应该是一种公共产品。

AGPL确保任何将公民mcp部署为网络服务的人,包括政府供应商和SaaS提供商,都必须将他们的改进贡献给公共资源。MIT或Apache将允许供应商对此进行分叉,添加专有适配器,并出售对它们的访问权限,从而完全重新创建我们试图打破的锁定。

AGPL关上了那扇门。使用该扩展的个人用户和政府机构不受影响——只有当您将修改后的版本作为服务为他人运行时,许可证才会激活。

______________________________________________________________________

路线图

里程碑目标状态
核心扩展+插件加载器2026年第一季度🔄 进行中
CLI工具+适配器SDK2026年第1季度🔄 进行中
5个经过验证的适配器2026年第2季度🚧 计划中
Chrome网上商店发布2026年第二季度🚧 计划中
25个状态适配器2026年第3季度🚧 计划中
联邦机构适配器2026年第四季度🚧 计划中
适配器认证计划2026年第4季度🚧 计划中

______________________________________________________________________

相关项目

______________________________________________________________________

许可证

版权所有©2026公民mcp贡献者

此程序是自由软件:您可以根据 GNU Affero通用公共许可证 由自由软件基金会发布的许可证版本3,或(由您选择)任何更高版本。

分发此程序是希望它有用,但不提供任何保证;甚至没有对适销性或特定用途适用性的暗示保证。看 许可证 了解更多详情。

______________________________________________________________________

*civil mcp是一个独立的开源项目。它不隶属于任何政府机构,也不受任何政府机构的认可或运营。*

目录标签

目录标签

JavaScriptClaudeAI代理政府服务自动化本地部署AI代理工具WebMCP表单处理公共服务

支持客户端

Claude DesktopClaudeCursor

接入字段

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

未说明

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

session

工具数量(toolCount,工具数)

2

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明session部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP