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

Standards MCP

MCP Server

standards-mcp

将编码标准转换为可被AI代理按需查询的实时数据存储,优化令牌使用并提供精确的规则应用。

工具数

6

提示词数

0

GitHub Stars

2

资源数

0
JavaScriptClaude令牌优化ClaudeCursor

安装说明

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

作者 / 组织

anotherben

提供方

anotherben

最后核验

2026/5/17 20:20

运行时

Node.js

快速接入

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

命令预览

npx standards-mcp init # 28 universal starter rules

详细介绍

标准mcp

您的编码标准,可由AI查询。

每个团队都会编写一份编码标准文档。没有人阅读它。人工智能代理肯定不会——他们无法将20000个代币治理文档与实际工作一起放入上下文窗口。

标准mcp 翻转这个。你的标准不再是维基中的文档,而是成为 实时数据存储 代理在任务时进行查询。启动数据库迁移的代理调用一个工具,并在大约700个令牌内,在0.1ms内,准确地获取适用的28条规则。

关于无障碍、国际化和基础设施的95%规则?未加载。不要浪费代币。不制造噪音。

npx standards-mcp init        # 28 universal starter rules
npx standards-mcp serve       # MCP server, works with any AI tool

适用于 克劳德代码, 光标, 帆板运动, 副驾驶 --任何能说话的东西 主控程序.

______________________________________________________________________

问题:代币经济学

AI代理具有有限的上下文窗口。在规则上花费的每个令牌都是在实际工作上没有花费的令牌。以下是现有方法的成本:

方法标准如何到达代理令牌成本代理获得什么
Wiki/Confluence代理无法访问它0(无用)
粘贴到系统提示中每节课都有完整的文档~20000所有内容,无论是否相关
CLAUDE.md/.cursorules子集烘焙到配置中~2000-5000无论你手动策划什么
ESLint/Roslyn单独运行,代理看到输出~500/违规只有已经损坏的部分
标准mcp代理查询它需要什么一项任务约700,每条规则约15这正是这项任务的规则

见解: 不要加载文档,查询索引。 启动数据库迁移的代理不需要您的可访问性规则、i18n规则或基础架构规则。它需要DB、SEC和ERR。这是28条规则,每条约15个令牌,而不是200条规则,每条约100个令牌。

如何比较

每个代码质量工具都有可寻址的规则。以下是它们的工作原理以及它们在人工智能代理方面的不足之处:

系统规则ID是否可读?是否可由代理查询?渐进式细节?修复指导?令牌感知?
埃斯林特no-unused-vars否--作为linter运行,代理在事后看到违规行为否--一个级别的细节--fix 对于某些规则
罗瑟琳CA1001否--必须查找否--编译成。NET分析器是--消息→ docs → 代码修复代码修复提供者
声纳立方squid:S1481否--服务器端扫描仪是--摘要→ 细节→ 补救补救指导
皮林C0301否--CLI linter
CWE/OWASPCWE-89否--参考数据库是--摘要→ 描述→ 示例仅供参考
标准mcpSEC.INJECT.SQL --自我描述 --MCP工具调用 --3层(15→375→300个代币) --带验证的类型化修复提供程序 --专为它而设计

主要区别:

现有的工具是过梁。 它们在已经存在的代码上运行,并在事后报告违规行为。代理编写代码,linter发现问题,代理修复问题。最少两次通过。

标准mcp是飞行前检查。 代理加载规则 *之前* 编写代码。这些规则在开发过程中位于工作内存中,而不是在单独的扫描过程中发现的。代理第一次写入正确的代码,因为它在写入时知道这些规则。

现有的工具是以人为本的。 ESLint的文档是网页。Roslyn的CodeFixProvider是一个C#类。SonarQube的补救措施是仪表板上的一段。这些都不是为AI代理在任务时以编程方式使用而设计的。

标准mcp是代理第一。 每个响应都是JSON。代币预算是衡量的。渐进式披露意味着代理在任务开始时为每条规则加载15个令牌,为它需要详细说明的一条规则加载375个令牌,并为修复加载300个令牌,而不是为所有事情加载20000个令牌。

三代币指数

每个规则都有一个自我描述的地址: DOMAIN.CONCERN.RULE

SEC.INJECT.SQL     →  Security > Injection > SQL
DB.MONEY.INT       →  Database > Money > Integer storage
ERR.CATCH.EMPTY    →  Errors > Catch > No empty blocks

比较: CA1001 告诉。 CWE-89 告诉。 SEC.INJECT.SQL 告诉您域、关注点和规则-在3个令牌中,无需查找。这很重要,因为:

  • 代理商引用了它们: "Store discount as integer cents (DB.MONEY.INT)"
  • Git历史变得可搜索: git log --grep="DB.MONEY.INT" 查找所有涉及资金存储的提交
  • 无需查找: 符号是文件

异常被跟踪,而不是隐藏

当代理无法遵循规则时,它会注册一个跟踪异常:

{
  "id": "EXC-2026-0001",
  "symbol": "FILE.SIZE.HARD",
  "justification": "Generated ORM schema cannot be split",
  "file": "src/generated/schema.ts",
  "ticket": "PROJ-442"
}

例外情况住在 .standards-exceptions.json --版本受控,可在PR中审查,可审计。不 // TODO: fix this later --有理由的跟踪偏差。

型号不可知,供应商不可知

这是一个MCP服务器。Claude、GPT、Gemini、Llama——如果它能调用MCP工具,它就可以查询你的标准。转换模型,遵守规则。

______________________________________________________________________

快速启动

npx standards-mcp init

这创造了 standards.json 有28条规则几乎得到了普遍认可——没有SELECT\*,没有空catch块,源代码中没有秘密,只有参数化查询。编辑它以匹配您的团队。

添加到您的MCP客户端:

克劳德代码 (.mcp.json):

{
  "mcpServers": {
    "standards": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "standards-mcp", "serve"]
    }
  }
}

光标 (MCP设置):

{
  "mcpServers": {
    "standards": {
      "command": "npx",
      "args": ["-y", "standards-mcp", "serve"]
    }
  }
}

完成。您的代理现在有6个工具。

______________________________________________________________________

6工具

工具目的代币
standards_for_task任务类型(数据库、前端等)的规则~700
standards_lookup将符号解析为完整规则——支持渐进式披露~15-375/规则
standards_domain域的所有规则~200/域
standards_search自由文本搜索,可按标签筛选各不相同
standards_all_symbols完整符号表~1300
standards_exception注册一个跟踪的异常~100

代理人应该先打电话

standards_for_task({ task_type: "database" })

返回与数据库工作相关的所有规则——仅一行,约700个标记。代理在上下文中处理这些内容,并通过符号引用违规行为。

当代理人需要更多细节时

standards_lookup({ symbols: ["DB.MONEY.INT"], detail_level: "full" })

返回基本原理、故障模式、好/坏示例、修复指导和抑制场景。一条规则约375个令牌。

当代理需要修复违规时

standards_lookup({ symbols: ["DB.MONEY.INT"], detail_level: "fix" })

返回逐步修复说明、验证检查(验证修复是否有效的grep模式)、爆炸半径和冲突警告。一条规则约300个令牌。

______________________________________________________________________

渐进式披露

该系统有三层信息。代理只在需要时加载他们需要的东西。

Tier 1: One-liner          "No floats for money"                    ~15 tokens
         loaded at task start via standards_for_task

Tier 2: Detailed docs       Why, how, examples, when to suppress    ~375 tokens
         loaded on-demand via standards_lookup(detail_level="full")

Tier 3: Fix provider         Step-by-step fix, validation, scope    ~300 tokens
         loaded on-demand via standards_lookup(detail_level="fix")

典型任务:总计约2100个令牌 (任务负载+1个边缘案例查找+2个修复查找)。在20万上下文窗口的1.1%以下。

修复类型

每个规则的修复提供者都根据它需要多少判断来分类:

类型决定论代理人行为
mechanical确定性,自动应用安全无需询问即可应用
local确定性,多行应用,提交时注意
structural需要判断提出、解释权衡
architectural需要人工审核标记,不自动修复

验证

每个修复程序都包括机器可验证的验证:

{
  "validation": {
    "grep_absent": ["DECIMAL.*(?:price|cost|total|amount)"],
    "grep_present": ["_cents\\s", "INTEGER.*(?:price|cost|total)"],
    "assertion": "No DECIMAL/FLOAT columns for monetary values"
  }
}

代理可以在应用修复程序后运行grep模式以验证其是否有效——机械修复不需要人工审查。

标签

为跨领域查询标记了规则:

standards_search({ query: ".*", tags: ["security"] })

返回所有标记为“security”的规则,无论域如何。入门设置中有24个标签:财务、安全、owasp、可读性、可测试性等。

______________________________________________________________________

标准格式

{
  "version": "2.1.0",
  "domains": {
    "SEC": {
      "name": "Security",
      "description": "Injection prevention, secrets, auth",
      "rules": {
        "SEC.INJECT.SQL": {
          "severity": "error",
          "applicability": "enforced",
          "rule": "Parameterised queries only — no string concatenation",
          "detail": {
            "rationale": "SQL injection is consistently #1-#3 in OWASP Top 10...",
            "failure_modes": ["Full database dump via UNION injection", "Auth bypass via ' OR 1=1"],
            "fix_guidance": ["Replace interpolation with parameterised placeholders..."],
            "examples": [{ "label": "JS", "bad": "query(`...${id}`)", "good": "query('...$1', [id])" }],
            "tags": ["security", "owasp", "injection"],
            "fix": {
              "type": "mechanical",
              "steps": [{ "action": "Replace template literal", "from": "query(`...${id}`)", "to": "query('...$1', [id])" }],
              "validation": { "grep_absent": ["query.*`.*\\$\\{"], "assertion": "No interpolated SQL" }
            }
          }
        }
      }
    }
  },
  "task_routing": {
    "database": ["FILE", "NAME", "SEC", "DB", "TEST", "VCS"],
    "frontend": ["FILE", "NAME", "ERR", "TEST", "VCS"]
  }
}

detail 对象是 可选的 每一条规则。没有它的规则运作良好——代理人只得到一句话。在对团队最重要的规则中逐步添加细节。

严重性: error (必须修复)或 warning (应该修复)。

适用性: enforced (活动), aspirational (可见但不遮挡), not_applicable (对任务/域查询隐藏)。

任务路由:将任务类型映射到相关域。添加您自己的任务类型——它们只是映射到域数组的字符串。

______________________________________________________________________

定制

添加规则

"DB.QUERY.TENANT": {
  "severity": "error",
  "applicability": "enforced",
  "rule": "Multi-tenant queries must include tenant filter"
}

添加域

"A11Y": {
  "name": "Accessibility",
  "description": "WCAG 2.2 AA compliance",
  "rules": {
    "A11Y.HTML.SEMANTIC": {
      "severity": "error",
      "applicability": "enforced",
      "rule": "Use correct semantic HTML elements"
    }
  }
}

然后添加 "A11Y" 到中的相关任务类型 task_routing.

验证

npx standards-mcp validate
standards.json v1.0.0
28 rules across 8 domains

  FILE     File Organisation              3 rules
  SEC      Security                       5 rules
  DB       Database                       4 rules
  ...

6 task types: database, api_endpoint, frontend, backend, refactor, bugfix

Applicability: 28 enforced, 0 aspirational, 0 not_applicable

Valid.

______________________________________________________________________

告诉你的代理人使用它

添加到您的项目说明中(CLAUDE.md、.cursorules等):

Before editing any file, call standards_for_task with the appropriate task type.
Cite relevant symbols in your approach.

______________________________________________________________________

建筑

standards.json ──→ standards-mcp server ──→ Any MCP client
  (your rules)       (6 query tools)        (Claude, Cursor, etc.)
                         │
              .standards-exceptions.json
                  (tracked exceptions)

没有数据库。无构建步骤。除此之外没有配置文件 standards.json一个JSON文件输入,六个工具输出。

______________________________________________________________________

命令行界面

npx standards-mcp init [--force]              # Scaffold standards.json
npx standards-mcp serve [--standards 
]  # Start MCP server
npx standards-mcp validate [
]           # Validate and report

配置发现: --standards flag → $STANDARDS_MCP_PATH env → ./standards.json./.standards/standards.json

______________________________________________________________________

程序化使用

const { StandardsStore } = require('standards-mcp/src/store');

const store = new StandardsStore('./standards.json');
store.forTask('database');           // rules for database work
store.lookup(['SEC.INJECT.SQL']);     // resolve a symbol
store.search('password');            // free-text search
store.allSymbols();                  // { count: 28, symbols: [{s, v, a}] }

______________________________________________________________________

许可证

麻省理工学院

目录标签

目录标签

JavaScriptClaude令牌优化编码标准本地部署AI代理规则查询软件开发

支持客户端

ClaudeCursor

接入字段

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

stdio

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

none

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

standards-mcp

工具数量(toolCount,工具数)

6

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP