Skip to main content
Glama
dajarony

mcp-universal-gentes

by dajarony

Universal MCP Lab

用于验证在稳定 MCP 表面背后的动态能力获取的最小概念验证。

假设

一个智能体以六个稳定工具开始。它连接一个 OpenAPI 服务,发现新的内部能力,检查它们并调用它们,而无需修改已发布的 MCP 目录。

预期的稳定表面:

  • services.connect

  • services.disconnect

  • services.list

  • capabilities.list

  • capabilities.describe

  • capabilities.invoke

PoC 不提供对设备的原始访问,不暴露任意 shell,也不存储凭据。

Related MCP server: openapi-mcp

本地运行测试

python -m unittest discover -s tests -v
python scripts/demo.py

通过 stdio 实现真实 MCP

第 3 阶段包含一个具有六个稳定工具的真实 MCP 服务器。安装声明的依赖项并让 MCP 主机启动该进程:

pip install -e .
python -m entradas.mcp.server

该进程不显示界面,也不应写入 stdout:它通过 stdin 等待 MCP 消息。测试 tests/test_mcp_protocol.py 充当真实 MCP 客户端,验证 tools/list,连接合成 OpenAPI,并确认公共目录未更改。

这种本地传输是刻意受限的:不发布 HTTP,不包含 OAuth,不连接 PC,也不启用写批准。

要在实验室中启用 HTTP 读取,请在启动前配置本地允许列表。通过 MCP 发送的 OpenAPI 文档无法修改该目标:

$env:UNIVERSAL_MCP_READ_BASE_URLS = '{"customers":"https://api.example.test"}'
python -m entradas.mcp.server

仅对已配置的服务执行 GET;有超时、大小限制、强制 JSON、无重定向或重试。该套件不使用互联网:它启动一个本地临时端点来验证此流程。

所有者的本地节点

PC 节点是独立的本地 MCP 进程,而不是远程控制功能。只有设备所有者才能启动它并设置明确文件夹:

$env:UNIVERSAL_MCP_OWNER_ALLOWED_ROOT = 'C:\carpeta-autorizada'
python -m entradas.pc_node.server

其唯一工具是 pc.read_text(relative_path)。它不包括 shell、写入、磁盘浏览、浏览器、进程或网络侦听器。网关与此节点之间的隧道和身份验证属于后续阶段。

写入的 Action Boundary

写入不接受 approved=true。第一个请求返回确认引用;受信任的人工界面必须在 MCP 之外批准该确切操作。生成的授权是一次性的,绑定到相同参数,并在 executor 之前消耗。这尚未在 PC 节点上启用写入。

状态

架构 + 实验室核心 + 深度 ECA 已准备好。请参见 STATUS.md 和 docs/PLAYBOOK.md。

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    D
    maintenance
    Exposes two MCP tools (discover and execute) that enable agents to query an OpenAPI schema via natural language and execute matched API operations.
    2
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to access a unified catalog of tools from various APIs (OpenAPI, GraphQL, MCP, Google Discovery) through the MCP protocol.
    6 npm
    MIT