KG

keel-grc/keelgrc-mcp

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

0 stars 0 forks 质量 83 趋势 14MIT

A代表Keel。指向任何MCP客户端(Claude Desktop、Claude Code、Cursor),用自然语言驱动你的合规程序:“我的ISO 27001准备度是多少?

概览

A 代表 Keel。指向任何 MCP 客户端(Claude Desktop、Claude Code、Cursor),用自然语言驱动你的合规程序:“我的 ISO 27001 准备度如何?”,“控制点还处于空白状态”,“开启任务轮换我们的 TLS 证书。” 文档:https://docs.keelgrc.com/api-mcp/mcp-server/ ·开源代码:https://keelgrc.com/open-source/ 它是对 Keel 公共 API(/api/v1)的薄包裹。每个操作映射到一个真实端点,并与你的 API 密钥组织关系。MCP 不会赋予比密钥已有更多的访问权限。 每个资源一个工具,并带有一个动作参数。十三个工具涵盖四十五个操作;另一种选择是每个操作一个工具,MCP客户端在使用大约一百个工具后性能会严重下降。 有些操作是缺失的。每个操作都是REST surface中的一个空隙,并且在工具描述中明确说明,使模型读取到一个答案而非一个空洞: - keel_tasks没有。Keel在任何地方都没有删除任务的操作,包括应用程序。

概述(AI 翻译)

Keel的模型上下文协议(MCP)服务器。指向任意MCP客户端(Claude 桌面、Claude Code、光标)开始,自然地驱动你的合规计划 语言:“我的ISO 27001准备度是多少?”,“列表控制仍在空白中”,“打开一个 轮换我们的TLS证书。”

文档:·开源:

它是一个薄包装在 Keel 公共 API([/api/v1)上的。每个操作都映射到 real 端点,并且作用域对应你的 API 密钥所属的组织。MCP 不再授予任何访问权限 比钥匙已经做的还要多。

工具

每个资源一个工具,参数为action。十三个工具涵盖四十五个 操作;另一种选择是每个操作使用工具,MCP客户端性能下降严重 大约有一百个工具。

工具 操作 映射到
keel_whoami (无) GET /me
keel_members (无) GET /members
keel_frameworks (无) GET /frameworks
keel_readiness (无) GET /readiness
keel_controls 列表、获取、创建、更新、删除、映射、映射、解除映射 /controls, /controls/{id}, /controls/{id}/crosswalks
keel_starter_controls (无) POST /frameworks/{key}/starter-controls

本页由 AI 翻译,技术细节请以原文为准。

README

以下为原文 README 节选,完整内容请查看原文。

keelgrc-mcp

A Model Context Protocol (MCP) server for Keel. Point any MCP client (Claude Desktop, Claude Code, Cursor) at it and drive your compliance program in natural language: “what’s my ISO 27001 readiness?”, “list controls still in gap”, “open a task to rotate our TLS certs.”

Docs: · Open source:

KEEL_API_KEY=your_key npx keelgrc-mcp

It’s a thin wrapper over the Keel public API (/api/v1). Every action maps to a real endpoint and is scoped to your API key’s organization. The MCP grants no more access than the key already has.

Tools

One tool per resource, with an action argument. Thirteen tools cover forty-five operations; the alternative is a tool per operation, and MCP clients degrade badly past roughly a hundred tools.

Tool Actions Maps to
keel_whoami (none) GET /me
keel_members (none) GET /members
keel_frameworks (none) GET /frameworks
keel_readiness (none) GET /readiness
keel_controls list, get, create, update, delete, mappings, map, unmap /controls, /controls/{id}, /controls/{id}/crosswalks
keel_starter_controls (none) POST /frameworks/{key}/starter-controls
keel_tasks list, get, create, update /tasks, /tasks/{id}
keel_risks list, get, create, update, delete /risks, /risks/{id}
keel_vendors list, get, create, update, delete /vendors, /vendors/{id}
keel_people list, get, create, update, delete /people, /people/{id}
keel_policies list, get, create, update, delete /policies, /policies/{id}
keel_evidence list, get, create, update, delete /evidence, /evidence/{id}
keel_webhooks list, create, rotate, delete /hooks, /hooks/{id}, /hooks/{id}/rotate

Some actions are absent. Each is a gap in the REST surface, and each is stated in the tool description so a model reads an answer rather than a hole:

  • keel_tasks has no delete. Keel has no delete-a-task operation anywhere, the app included. Update the status to cancelled instead, which keeps the record.
  • keel_controls create takes no state, owner or mappings. It takes a name, a description and an optional key of your own, which is all the app’s “Add a control” form takes. A new control starts not_started, unowned and unmapped: set state and ownerEmail with update, and clauses with map, which attaches any control to any clause of an applied framework.
  • Applying a framework is not here. It is plan-metered and happens in the app; keel_starter_controls and map refuse a framework the workspace has not applied.
  • keel_webhooks has no get or update. The API has neither. List them to read one, and replace a subscription by deleting it and creating another.
在 GitHub 查看完整 README

安装

npx -y keelgrc-mcp
新手?先看 mcpskill.org 教程 →

配置

{ "mcpServers": { "keel": { "command": "npx", "args": ["-y", "keelgrc-mcp"], "env": { "KEEL_API_KEY": "keel_live_..." } } } }