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

Consent MCP

MCP Server

consent-mcp是一个开源的模型上下文协议(MCP)服务器,作为主动式AI代理的伦理网关,确保在没有明确验证许可的情况下,自主代理不会与人类目标(邻居、患者或社区成员)发起联系。

工具数

5

提示词数

0

GitHub Stars

0

资源数

0
Python开源工具云端部署

安装说明

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

作者 / 组织

sairajm

提供方

sairajm

最后核验

2026/5/17 20:23

快速接入

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

详细介绍

consent mcp:人工智能代理的公众同意握手

CI Status License Python

“测量两次,切割一次。”

同意mcp 是一个开源的模型上下文协议(MCP)服务器,充当主动人工智能代理的道德网关。它确保在没有明确、经过验证的同意握手的情况下,任何自主代理都不会主动与人类目标(邻居、患者或社区成员)联系。

🚀 为什么存在

我们正在从“聊天机器人”(被动)转向“代理”(主动)。

  • 问题: 如果缺乏社会意识,主动检查邻居的代理很快就会成为一种滋扰或侵犯隐私的行为。
  • 解决方案: 此工具提供 闭锁机构代理人必须致电 check_consent 在执行任何任务之前。如果不同意 GRANTED,代理在工具级别被硬阻塞。

✨ 特性

  • 双重选择加入工作流程: 向目标发送短信(通过Twilio)或电子邮件(通过SendGrid)请求权限
  • 封锁工具: check_consent 回报 False 除非同意有效且未到期
  • 请求者跟踪: 多个用户可以独立请求同一目标的同意
  • 同意书到期: 所有同意书都有安全有效期
  • 审核日志记录: 每个请求、授权和撤销都会记录到PostgreSQL中
  • 可插拔身份验证: API密钥或现成的OAuth身份验证
  • 领域驱动设计: 具有可交换基础设施的干净架构
  • Docker就绪: 使用单个 docker-compose up

📦 快速开始

使用Docker(推荐)

# Clone the repository
git clone https://github.com/sairajm/consent-mcp.git
cd consent-mcp

# Copy environment template
cp .env.example .env

# Edit .env with your configuration
# At minimum, set API_KEYS for authentication

# Start the server
docker-compose up --build

本地开发

地方发展(推荐)

此工作流在Docker中运行PostgreSQL,但在您的机器上本地执行Python服务器以实现快速迭代。

  1. 视窗:
   .\scripts\start_local.ps1
  1. Linux/Mac:
   chmod +x scripts/start_local.sh
   ./scripts/start_local.sh

此脚本将:

  • 检查 .env (复制自 .env.example 如果需要)。
  • 启动特定的本地Postgres容器(consent-mcp-postgres-dev).
  • 等待数据库准备就绪。
  • 运行数据库迁移。
  • 使用本地环境配置启动MCP服务器。
备注:有关手动设置,请参阅 .github/workflows/ci.yml.

🔧 配置

所有配置都是通过环境变量进行的:

变量必填描述
ENV环境: test, development, production (默认值: development)
DATABASE_URLPostgreSQL连接URL
AUTH_PROVIDER身份验证方法: api_key, oauth, none (默认值: api_key)
API_KEYS对于api_key身份验证逗号分隔 key:client_id 成对
TWILIO_ACCOUNT_SID用于短信Twilio帐户SID
TWILIO_AUTH_TOKEN用于短信Twilio认证令牌
TWILIO_PHONE_NUMBER用于短信Twilio电话号码(E.164格式)
SENDGRID_API_KEY对于电子邮件SendGrid API密钥
SENDGRID_FROM_EMAIL用于电子邮件发件人电子邮件地址

🛠️ MCP工具

短信工具

request_consent_sms

通过短信请求目标同意。

{
  "requester_phone": "+15551234567",
  "requester_name": "Alice",
  "target_phone": "+15559876543",
  "target_name": "Bob",
  "scope": "wellness_check",
  "expires_in_days": 30
}

check_consent_sms

舞台调度: 检查请求者是否主动同意联系目标。

{
  "requester_phone": "+15551234567",
  "target_phone": "+15559876543"
}

退货 true 只有当同意 GRANTED 并且未过期。

电子邮件工具

request_consent_email

通过电子邮件请求目标的同意。

{
  "requester_email": "alice@example.com",
  "requester_name": "Alice",
  "target_email": "bob@example.com",
  "target_name": "Bob",
  "scope": "appointment_reminder",
  "expires_in_days": 365
}

check_consent_email

舞台调度: 检查请求者是否已主动同意通过电子邮件联系目标。

管理工具(仅限测试环境)

admin_simulate_response

在没有真实短信/电子邮件的情况下模拟同意响应进行测试。

{
  "target_contact_type": "phone",
  "target_contact_value": "+15559876543",
  "requester_contact_value": "+15551234567",
  "response": "YES"
}
⚠️ 此工具仅在以下情况下可用 ENV=test

🏗️ 建筑

该项目遵循领域驱动设计:

src/consent_mcp/
├── domain/           # Business logic (entities, services, interfaces)
├── infrastructure/   # External integrations (database, providers, auth)
└── mcp/v1/          # MCP layer (tools, request/response schemas)

扩展系统

添加新的消息传递提供程序:

  1. 创建一个类来实现 IMessageProviderinfrastructure/providers/
  2. 在中注册 infrastructure/providers/factory.py

添加新的身份验证提供程序:

  1. 创建一个类来实现 IAuthProviderinfrastructure/auth/
  2. 在中注册 infrastructure/auth/factory.py

切换数据库:

  1. 创建一个新类来实现 IConsentRepository
  2. 无需更改域或MCP层

🧪 测试

# Start test database
docker-compose -f docker-compose.test.yml up -d

# Run all tests
pytest tests/ -v

# Run with coverage
pytest tests/ --cov=consent_mcp --cov-report=html

# Run specific test file
pytest tests/domain/test_services.py -v

📝 数据库迁移

# Create a new migration
alembic revision --autogenerate -m "description"

# Apply migrations
alembic upgrade head

# Rollback one migration
alembic downgrade -1

🔒 安全

  • 所有MCP请求都需要身份验证(API密钥或OAuth)
  • 生产环境中禁用了管理工具
  • 秘密永远不会被记录
  • Docker以非root用户身份运行
  • 预提交钩子在提交前检测秘密

🤝 贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 安装预提交挂钩: pre-commit install
  4. 进行更改
  5. 运行测试: pytest
  6. 提交拉取请求

📄 许可证

MIT许可证-请参阅 许可证 了解详情。

目录标签

目录标签

Python开源工具云端部署AI伦理本地部署许可管理隐私保护代理通信

接入字段

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

未说明

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

oauth

工具数量(toolCount,工具数)

5

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明oauth部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP