方法引擎与 MCP
Agent读取方法、检查交接、记录研究产物;模型生成与规则检查分开调用。
复制配置,接到你的Agent
下面是本机stdio配置,需MCP客户端支持该配置格式。其他电脑请替换绝对路径,并安装项目固定运行环境;这不是公开远程服务,也不会替你写入全局设置。
{
"mcpServers": {
"gooddesign-methods": {
"command": "/.runtime/pipeline/bin/python",
"args": [
"/scripts/method_engine_library_mcp.py"
],
"env": {
"METHOD_ENGINE_DB": "/output/method-workbench-private/engine.sqlite"
}
}
}
} 上述可选内容聚合入口共22个工具:保留原20个工具,另加2个增补方法只读工具。原method_engine_mcp.py仍18个,method_engine_incremental_mcp.py仍20个。现有模型调用依赖本机已配置的Codex服务与额度,不包含在纯规则检查内。
一次调用示例
以下是MCP tools/call的params结构;完整JSON-RPC请求需由客户端添加id/jsonrpc/method。
{
"name": "method_get",
"arguments": {
"method_id": "R17",
"view": "overview"
}
}读取本轮增补方法
{
"name": "method_supplement_get",
"arguments": {
"method_id": "R49"
}
}R49—R52使用method_supplement_search/get检索和阅读。原method_search/get及规则规划器仍读取冻结60份档案;选择增补方法不自动建立执行节点。
从需求到验证的参考链
只有这六项已有当前执行契约。参考链不是所有项目的固定答案,其他58份内容档案不能自动当作已接通的执行算法。
工具清单
method_semantic_matchmethod_propose_artifactmethod_review_artifactmethod_searchmethod_prepare_application_requestmethod_application_resultmethod_getmethod_matchmethod_planmethod_check_artifactmethod_check_inputsmethod_check_handoffmethod_evidence_requestsmethod_quality_reportmethod_normalize_case_evidencemethod_run_createmethod_run_getmethod_run_submitmethod_generate_function_optionsmethod_assemble_function_optionsmethod_supplement_searchmethod_supplement_get
调用边界
semantic_match、propose_artifact、review_artifact及两个增量生成工具会调用真实模型、消耗额度;propose默认允许一次修复,需单次调用可传max_repairs: 0。生成结果仍是草稿;提交要提供运行版本和幂等键,通过校验也不等于专家审核或工程验证。案例证据归一化不认证原文真实性。
逐步保存输入版本、证据位置、未知事项和审查记录。输入不足或硬约束冲突应停止或返回;未知不得自动判定为通过。工作台页面的完整调用记录仍在“探索与验证”。
工具参数与调用类型
以下为独立SDK实测的原增量20工具接口快照;新22工具入口额外两只读增补工具以实际tools/list为准。调用前检查当前Schema,不把annotations当权限。
method_semantic_match · 模型调用:消耗额度并保留审计
必填:request_text
{
"properties": {
"request_text": {
"title": "Request Text",
"type": "string"
},
"context": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Context"
}
},
"required": [
"request_text"
],
"title": "method_semantic_matchArguments",
"type": "object"
}method_propose_artifact · 模型调用:消耗额度并保留审计
必填:method_id、task
{
"properties": {
"method_id": {
"title": "Method Id",
"type": "string"
},
"task": {
"additionalProperties": true,
"title": "Task",
"type": "object"
},
"artifacts": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Artifacts"
},
"evidence": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Evidence"
},
"max_repairs": {
"default": 1,
"title": "Max Repairs",
"type": "integer"
}
},
"required": [
"method_id",
"task"
],
"title": "method_propose_artifactArguments",
"type": "object"
}method_review_artifact · 模型调用:消耗额度并保留审计
必填:method_id、task、artifact
{
"properties": {
"method_id": {
"title": "Method Id",
"type": "string"
},
"task": {
"additionalProperties": true,
"title": "Task",
"type": "object"
},
"artifact": {
"additionalProperties": true,
"title": "Artifact",
"type": "object"
},
"inputs": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Inputs"
},
"evidence": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Evidence"
}
},
"required": [
"method_id",
"task",
"artifact"
],
"title": "method_review_artifactArguments",
"type": "object"
}method_search · read_or_rule_check
必填:无
{
"properties": {
"query": {
"default": "",
"title": "Query",
"type": "string"
},
"limit": {
"default": 10,
"title": "Limit",
"type": "integer"
}
},
"title": "method_searchArguments",
"type": "object"
}method_prepare_application_request · read_or_rule_check
必填:request、object_name、boundary
{
"properties": {
"request": {
"additionalProperties": true,
"title": "Request",
"type": "object"
},
"object_name": {
"title": "Object Name",
"type": "string"
},
"boundary": {
"title": "Boundary",
"type": "string"
},
"stage": {
"default": "frame",
"title": "Stage",
"type": "string"
}
},
"required": [
"request",
"object_name",
"boundary"
],
"title": "method_prepare_application_requestArguments",
"type": "object"
}method_application_result · read_or_rule_check
必填:run_id
{
"properties": {
"run_id": {
"title": "Run Id",
"type": "string"
}
},
"required": [
"run_id"
],
"title": "method_application_resultArguments",
"type": "object"
}method_get · read_or_rule_check
必填:method_id
{
"properties": {
"method_id": {
"title": "Method Id",
"type": "string"
},
"view": {
"default": "overview",
"title": "View",
"type": "string"
}
},
"required": [
"method_id"
],
"title": "method_getArguments",
"type": "object"
}method_match · read_or_rule_check
必填:task
{
"properties": {
"task": {
"additionalProperties": true,
"title": "Task",
"type": "object"
},
"artifacts": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Artifacts"
},
"evidence": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Evidence"
}
},
"required": [
"task"
],
"title": "method_matchArguments",
"type": "object"
}method_plan · read_or_rule_check
必填:task
{
"properties": {
"task": {
"additionalProperties": true,
"title": "Task",
"type": "object"
},
"target": {
"default": "R42",
"title": "Target",
"type": "string"
},
"artifacts": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Artifacts"
},
"evidence": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Evidence"
}
},
"required": [
"task"
],
"title": "method_planArguments",
"type": "object"
}method_check_artifact · read_or_rule_check
必填:method_id、artifact
{
"properties": {
"method_id": {
"title": "Method Id",
"type": "string"
},
"artifact": {
"additionalProperties": true,
"title": "Artifact",
"type": "object"
},
"evidence": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Evidence"
},
"task": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Task"
},
"inputs": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Inputs"
}
},
"required": [
"method_id",
"artifact"
],
"title": "method_check_artifactArguments",
"type": "object"
}method_check_inputs · read_or_rule_check
必填:method_id、task
{
"properties": {
"method_id": {
"title": "Method Id",
"type": "string"
},
"task": {
"additionalProperties": true,
"title": "Task",
"type": "object"
},
"artifacts": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Artifacts"
},
"evidence": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Evidence"
}
},
"required": [
"method_id",
"task"
],
"title": "method_check_inputsArguments",
"type": "object"
}method_check_handoff · read_or_rule_check
必填:method_id、artifact、task
{
"properties": {
"method_id": {
"title": "Method Id",
"type": "string"
},
"artifact": {
"additionalProperties": true,
"title": "Artifact",
"type": "object"
},
"task": {
"additionalProperties": true,
"title": "Task",
"type": "object"
},
"evidence": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Evidence"
}
},
"required": [
"method_id",
"artifact",
"task"
],
"title": "method_check_handoffArguments",
"type": "object"
}method_evidence_requests · read_or_rule_check
必填:method_id、task
{
"properties": {
"method_id": {
"title": "Method Id",
"type": "string"
},
"task": {
"additionalProperties": true,
"title": "Task",
"type": "object"
}
},
"required": [
"method_id",
"task"
],
"title": "method_evidence_requestsArguments",
"type": "object"
}method_quality_report · read_or_rule_check
必填:packet
{
"properties": {
"packet": {
"additionalProperties": true,
"title": "Packet",
"type": "object"
}
},
"required": [
"packet"
],
"title": "method_quality_reportArguments",
"type": "object"
}method_normalize_case_evidence · read_or_rule_check
必填:project_id、source_id、response
{
"properties": {
"project_id": {
"title": "Project Id",
"type": "string"
},
"source_id": {
"title": "Source Id",
"type": "string"
},
"response": {
"additionalProperties": true,
"title": "Response",
"type": "object"
}
},
"required": [
"project_id",
"source_id",
"response"
],
"title": "method_normalize_case_evidenceArguments",
"type": "object"
}method_run_create · 持久写入
必填:task
{
"properties": {
"task": {
"additionalProperties": true,
"title": "Task",
"type": "object"
},
"target": {
"default": "R42",
"title": "Target",
"type": "string"
},
"artifacts": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Artifacts"
},
"evidence": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Evidence"
}
},
"required": [
"task"
],
"title": "method_run_createArguments",
"type": "object"
}method_run_get · read_or_rule_check
必填:run_id
{
"properties": {
"run_id": {
"title": "Run Id",
"type": "string"
}
},
"required": [
"run_id"
],
"title": "method_run_getArguments",
"type": "object"
}method_run_submit · 持久写入
必填:run_id、expected_revision、key、method_id、artifact
{
"properties": {
"run_id": {
"title": "Run Id",
"type": "string"
},
"expected_revision": {
"title": "Expected Revision",
"type": "integer"
},
"key": {
"title": "Key",
"type": "string"
},
"method_id": {
"title": "Method Id",
"type": "string"
},
"artifact": {
"additionalProperties": true,
"title": "Artifact",
"type": "object"
},
"evidence": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Evidence"
}
},
"required": [
"run_id",
"expected_revision",
"key",
"method_id",
"artifact"
],
"title": "method_run_submitArguments",
"type": "object"
}method_generate_function_options · 模型调用:消耗额度并保留审计
必填:run_id、function_id
{
"properties": {
"run_id": {
"title": "Run Id",
"type": "string"
},
"function_id": {
"title": "Function Id",
"type": "string"
},
"evidence": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Evidence"
}
},
"required": [
"run_id",
"function_id"
],
"title": "method_generate_function_optionsArguments",
"type": "object"
}method_assemble_function_options · 模型调用:消耗额度并保留审计
必填:run_id、parts
{
"properties": {
"run_id": {
"title": "Run Id",
"type": "string"
},
"parts": {
"additionalProperties": true,
"title": "Parts",
"type": "object"
},
"evidence": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Evidence"
}
},
"required": [
"run_id",
"parts"
],
"title": "method_assemble_function_optionsArguments",
"type": "object"
}