Python MCP workflow tools for host-controlled planning workflows
Project description
Ymcp
Trae MCP工具包 提供工作流以及mempalace的长记忆存储
安装与更新
pip install ymcp
pip install -U ymcp
本地开发安装:
python -m pip install -e .[dev]
一键初始化 Trae 与默认记忆库:
ymcp init-trae
init-trae 会检查 ~/.yjj。如果该目录不存在,会自动初始化 MemPalace,并把 ~/.yjj 配置为 Ymcp 的默认记忆库目录。
FastMCP 第一原则
Ymcp 的第一原则是:所有能力优先按 FastMCP / MCP 官方三原语组织,而不是只提供 tools-only 接口:
- Tools:执行动作、查询外部系统、产生结构化结果。
- Resources:暴露可读取上下文、项目原则、规则模板、工具参考、记忆协议。
- Prompts:暴露可复用调用模板和标准工作流提示;Prompt 不直接执行工具,也不伪造工具结果。
- Elicitation:当 Tool 执行中需要用户输入/选择时,只通过 MCP 官方 Elicitation 收集;不支持或渲染异常的不应继续 workflow 交互。
禁止用自定义协议替代 MCP 原语;禁止把文档型上下文只放在 Markdown 中而不暴露为 Resource;禁止把可复用提示只写在文档中而不暴露为 Prompt。
记忆工具
Ymcp 依赖 mempalace 提供长期记忆能力,默认使用 ~/.yjj 作为 MemPalace 记忆库目录。记忆 wing 现在按项目上下文解析:优先使用显式 wing,否则使用提供的 project_id,再退化到 project_root 目录名 slug,最后才回退到 wing="personal";默认 room="ymcp"。
当前实现已统一为单一路径:
- Ymcp 只通过
python -m mempalace.mcp_server调用 MemPalace - Ymcp 不再直接导入或调用 MemPalace 的进程内 Python 实现
- 所有记忆读写、检索、图谱与 diary 能力都统一经过这条 MCP 调用链
Memory Protocol:回答人物、项目、历史事件或过往决策前先查 mempalace_search / mempalace_get_drawer,不要凭印象猜;任务结束后把稳定偏好、项目约定、重要决策和踩坑结论写入 mempalace_add_drawer 或 mempalace_diary_write;事实变化时用更新、删除或 KG 失效工具维护旧记忆。
推荐在记忆工具调用里补充:
project_id:稳定的项目标识,优先用于生成 wingproject_root:工程根目录,作为project_id缺失时的回退来源
这样不同工程会自动写入不同的 wing,而不是全部落到 personal。
常用工具:
mempalace_add_drawer:保存一条长期记忆mempalace_search:搜索长期记忆mempalace_get_drawer/mempalace_update_drawer/mempalace_delete_drawer:读取、更新、删除指定记忆mempalace_status/mempalace_list_wings/mempalace_list_rooms/mempalace_get_taxonomy:查看记忆空间状态mempalace_kg_*、mempalace_graph_*、mempalace_*tunnel*、mempalace_diary_*:通过 MemPalace MCP 服务暴露图谱、关系和日记能力
记忆写入是持久化副作用。
Trae 中常用记忆 prompt
调用 Ymcp 的 mempalace_search,搜索:“当前项目的发布流程”。请只总结与当前任务相关的记忆。
调用 Ymcp 的 mempalace_add_drawer,保存这条长期项目约定:“Ymcp 的文档和用户回复都使用中文,代码接口名保持英文。”
更多示例见 docs/trae-integration.md。
Trae Workflow 最佳调用链
推荐链路:deep_interview → ralplan → ralph → mempalace_add_drawer。
这条链路中的循环、执行、验证与状态保存都由宿主控制;Ymcp 只提供 MCP Tools / Resources / Prompts、结构化 workflow 状态,以及在需要用户输入时发起 Elicitation。Ymcp 不是 agent runtime,不会自动执行命令、修改文件或持续运行 loop。
- 需求不清晰:先调用
deep_interview,按服务器发起的 Elicitation 多轮澄清。 - 需要共识规划:调用
ralplan,由宿主按planner_draft → architect_review → critic_review顺序推进,并把真实评审结果回传给工具。 - 执行验证:调用
ralph,根据stop_continue_judgement判断继续、修复或完成;ralph是证据驱动的闭环判断工具,不是执行器。 - 完成沉淀:调用
mempalace_search查重,再用mempalace_add_drawer保存稳定经验。
权威接入契约见 docs/workflow-contract.md,实现细则见 docs/host-implementation-guide.md,完整 prompt 模板见 docs/trae-integration.md。
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ymcp-0.2.6.tar.gz.
File metadata
- Download URL: ymcp-0.2.6.tar.gz
- Upload date:
- Size: 70.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d7c4ab4b3405724c60857ec33d16a8e8054d805ee5ee43169584c2462f838978
|
|
| MD5 |
4576b2a8872691d0f8efdcd6a73d6847
|
|
| BLAKE2b-256 |
40f3346e39acb376e1184962c9a69713812ffedab4c2547006583abd810607bc
|
Provenance
The following attestation bundles were made for ymcp-0.2.6.tar.gz:
Publisher:
release.yml on CodeyLife/Ymcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ymcp-0.2.6.tar.gz -
Subject digest:
d7c4ab4b3405724c60857ec33d16a8e8054d805ee5ee43169584c2462f838978 - Sigstore transparency entry: 1370351545
- Sigstore integration time:
-
Permalink:
CodeyLife/Ymcp@fdd460542aeaaff52b25057c7b388cfecd244596 -
Branch / Tag:
refs/tags/v0.2.6 - Owner: https://github.com/CodeyLife
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@fdd460542aeaaff52b25057c7b388cfecd244596 -
Trigger Event:
release
-
Statement type:
File details
Details for the file ymcp-0.2.6-py3-none-any.whl.
File metadata
- Download URL: ymcp-0.2.6-py3-none-any.whl
- Upload date:
- Size: 60.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
87b7413a7a09e9562007a7128ad21f230ea74dc3491a4719d3a070b1435a6f60
|
|
| MD5 |
8e71fb102908dde537cb2218ea0d52c5
|
|
| BLAKE2b-256 |
da5b37bdbabcc76e7758f0129a678c15204ba2cda8a4911d44cb06aeab2deb0e
|
Provenance
The following attestation bundles were made for ymcp-0.2.6-py3-none-any.whl:
Publisher:
release.yml on CodeyLife/Ymcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ymcp-0.2.6-py3-none-any.whl -
Subject digest:
87b7413a7a09e9562007a7128ad21f230ea74dc3491a4719d3a070b1435a6f60 - Sigstore transparency entry: 1370351638
- Sigstore integration time:
-
Permalink:
CodeyLife/Ymcp@fdd460542aeaaff52b25057c7b388cfecd244596 -
Branch / Tag:
refs/tags/v0.2.6 - Owner: https://github.com/CodeyLife
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@fdd460542aeaaff52b25057c7b388cfecd244596 -
Trigger Event:
release
-
Statement type: