Context Sync MCP
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Context Sync MCPinit context sync for this project"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
🎯 为什么需要它?
❌ 痛点:上午用 Claude Code,好不容易让 Agent 摸清了代码库的逻辑、知道了哪个内部 API 会报错;结果晚换了台电脑,或者换了个模型,你的Coding Agent 瞬间失忆。然后又要在新的对话框里init,结果发现模型还是记不起来之前的agent到底踩过什么坑,跟你渡过过怎样的美好开发时间 :disguised_face:,然后就开始继续告诉他之前做到哪了,哪是坑之后别踩,只能说是身心俱疲。
✅ 解法:Context Sync 为 Agent 提供了一个独立于对话、独立于具体模型的长期记忆库。基于 Git 和 MCP,换台电脑、换个 Agent,敲一句
/sync-load,进度与上下文都能继续接上。
工作流极简:
新项目先 sync_init 建立第一份上下文 → 踩坑了/新决策用 write_context 自动记录 → sync_push 推送 → 换电脑 sync_load 拉取。就是这么简单。
它同步的不是“某个 Agent 的私有聊天记录”,而是项目里的结构化上下文文件;所以同一份上下文可以在 Claude ↔ Codex ↔ Gemini 之间复用。
💡 实际演示:由 Antigravity-Claude Code Opus 4.6 到 GPT-5.4
Related MCP server: codebase-memory
🚀 推荐工作流
新项目第一次接入:执行
/sync-init日常开发中有新增上下文:让 Agent 调用
write_context记录到.context/离开当前设备前保存:执行
/sync-save在另一台设备恢复:执行
/sync-load
简单记忆:先 init,一直 write,切换前 save,新设备 load。
✨ 核心特性
特性 | 说明 |
🧠 结构化长期记忆 | 将零散的对话沉淀为 5 类标准文档(避雷点、架构决策等),拒绝遗忘。 |
🔗 关联与自动编号 | 踩坑记录自动递增编号,支持 |
⚡️ 跨设备 + 跨 Agent 同步 |
|
🛡️ 同步文件规范化 | 会为 |
Token 消耗估算
操作 | 消耗 (Tokens) | 说明 |
| 💡 极低 (~200) | 取决于单次写入内容的长度 |
| 💡 极低 (~20) | 固定调用指令开销 |
| 📊 中等 (~2000) | 取决于 |
一句话总结:日常开发一整天(5-10次写入 + 1次同步),额外消耗仅约 2k-5k tokens,对账单几乎无影响。
📦 极速安装与配置
与时俱进,直接让 Agent 帮你搞定一切。
提示词中默认将补充提示词写道项目提示词中,如果需要写入全局,可以修改全局提示词
前置要求
Node.js ≥ 18.0.0
Git 已安装并配置好 SSH/HTTPS 认证
当前目录在一个 Git 仓库内
让你的 coding agent 帮你配置
复制下面这段话,直接发给你的 Codex / Claude Code / Gemini / Antigravity,剩下的交给它:
帮我安装并配置 `context-sync-mcp`,并确保它适用于跨设备、跨 Agent 的上下文同步。
1. 运行 `npm install -g context-sync-mcp`
2. 找到 context-sync-mcp 的安装路径(运行 `which context-sync-mcp` 或 `npm root -g`),确认 `dist/index.js` 的绝对路径
3. 帮我注册这个 MCP server(使用你的标准 MCP 配置命令或修改相应的 mcp.json)。command 是 `node`,args 是 `["/绝对路径/context-sync-mcp/dist/index.js"]`
4. 优先把下面的规则内容写入**当前项目**的规则文件(如 `.cursorrules`、`CLAUDE.md`、`.cursor/rules/`);
你有 context-sync MCP 工具。开发过程中:
- 踩坑了 → write_context 写到 gotchas
- 做了架构决策 → 写到 architecture
- 发现 API 特殊行为 → 写到 api_notes
- 完成阶段任务 → 更新 progress
- 仅更新 progress 不等于保存详情;具体踩坑/决策/API 行为必须写入 gotchas / architecture / api_notes,否则 `/sync-load` 只能恢复进度标记
- 用户说 /sync-init、初始化上下文同步、初始化这个仓库的 context sync → 调 sync_init
- 用户说 /sync-save、sync push、保存上下文、上传上下文 → 调 sync_push
- 用户说 /sync-load、sync pull、拉取上下文、恢复上下文、新设备恢复上下文 → 调 sync_load
- `sync_push` / `sync_load` 是内部工具名;对用户统一使用 `/sync-save` 和 `/sync-load`,不要说 `/sync-push`
- 这个 MCP 同步的是项目内 `.context/` 里的结构化上下文,不依赖某一个特定 Agent;因此同一份上下文可以在 Claude、Codex、Gemini 等不同 Agent 之间继续使用🪄 配置完成后,你不需要记忆任何额外命令。像平常一样自然地写代码、提问,Agent 知道什么时候该记录。下班前对它说一句
/sync-save即可;第二天哪怕换到另一个 Agent,也能用/sync-load接着干。
步骤 1:安装 CLI
npm install -g context-sync-mcp步骤 2:注册 MCP
Cursor — 编辑 ~/.cursor/mcp.json(全局)或项目的 .cursor/mcp.json:
{
"mcpServers": {
"context-sync": {
"command": "node",
"args": ["/绝对路径/context-sync-mcp/dist/index.js"]
}
}
}Claude Code — 运行:
claude mcp add context-sync node /绝对路径/context-sync-mcp/dist/index.jsOpenAI Codex — 运行:
codex mcp add context-sync -- node /绝对路径/context-sync-mcp/dist/index.jsGoogle Antigravity — 编辑项目根目录的 mcp_config.json 或 .mcp.json:
{
"mcpServers": {
"context-sync": {
"type": "local",
"command": "node",
"args": ["/绝对路径/context-sync-mcp/dist/index.js"]
}
}
}步骤 3:注入提示词
将本项目 rules/ 目录下的模板复制到你的工作区:
Cursor: 复制
rules/context-sync.mdc到.cursor/rules/Claude Code: 复制
rules/CLAUDE.md内容到根目录的CLAUDE.md
建议优先使用项目级规则。只有在你明确希望所有项目默认启用 Context Sync 时,再考虑加到全局规则里。
🏗️ 它是如何运转的?
我们优化了架构图,让你一眼看懂它的极简逻辑。
一句话理解: Context Sync 传递的不是某个模型的“脑内状态”,而是项目内 .context/ 里的结构化记忆;因此它天然支持跨设备,也天然支持跨 Agent。
flowchart LR
A["🤖 Coding Agent<br>(Cursor/Claude)"]
M(("⚙️ Context Sync<br>MCP Server"))
F["📁 本地记忆库<br>(.context/)"]
G[("☁️ Git 远端")]
A <-->|stdio 通信| M
M <-->|读/写 Markdown| F
M <-->|Push / Pull| G
style A fill:#f8fafc,stroke:#94a3b8,stroke-width:2px,color:#0f172a
style M fill:#fffbeb,stroke:#fcd34d,stroke-width:2px,color:#92400e
style F fill:#f0fdf4,stroke:#86efac,stroke-width:2px,color:#166534
style G fill:#f3f4f6,stroke:#d1d5db,stroke-width:2px,color:#1f2937📖 极简数据流
sequenceDiagram
participant Dev as 👨💻 开发者
participant Agent as 🤖 AI
participant MCP as ⚙️ 组件
participant Git as ☁️ 远端
Note over Dev, Agent: 🌤 白天:遇到坑
Dev->>Agent: "SQLite 跨进程锁死了..."
Agent->>MCP: write_context(gotchas)
MCP-->>Agent: ✅ 已记录至 gotchas.md
Note over Dev, Agent: 🌙 下班:保存记忆
Dev->>Agent: "/sync-save"
Agent->>MCP: sync_push()
MCP->>Git: ✅ git commit & push (含设备信息)
Note over Dev, Agent: ☕ 重启:换电脑恢复
Dev->>Agent: "/sync-load"
Agent->>MCP: sync_load()
MCP->>Git: git pull
MCP-->>Agent: 📋 返回所有历史上下文与踩坑记录🔧 工具详情
write_context
往 .context/ 目录写入记录。
gotchas(append): 踩坑记录、Bug 发现。architecture(append): 架构决策记录。api_notes(append): 接口行为说明。progress(overwrite): 当前任务进度。summary(overwrite): 项目整体索引。
提示:
progress更适合写“现在做到哪一步了”;如果你想让另一台设备恢复到具体的测试记录、踩坑细节或接口限制,请把正文写进gotchas/architecture/api_notes,不要只写一句进度提示。
sync_init
为一个还没有 .context/ 的项目建立第一份上下文基线。适用于 /sync-init、初始化上下文同步、初始化当前仓库的 context sync。默认会自动探测项目名、当前分支和 README 标题,并生成保底的 progress / summary;如果 Agent 额外传入自定义内容,则以注入内容为准。若项目已有上下文,应改用 /sync-load。
sync_push
将 .context/ 推送到 Git 远端。自动生成 SUMMARY.md、写入用于保持文本格式一致的 .gitattributes,并更新同步元信息 sync_meta.json。适用于 /sync-save、sync push、保存/上传上下文。
sync_load
从远端拉取最新上下文,按优先级展示给 Agent 供推理使用。适用于 /sync-load、sync pull、拉取/恢复上下文、新设备恢复上下文。
如果
/sync-load之后只看到了SUMMARY.md和task_progress.md,通常不是同步坏了,而是此前详细内容还没有写入对应的结构化文件;这时应检查是否已经把内容写入gotchas.md、architecture.md或api_notes.md。
📁 文件结构与隔离
工具会在你的项目根目录生成一个干净的 .context/ 文件夹,与业务代码完全隔离:
your-project/
└── .context/
├── SUMMARY.md # 总览索引
├── gotchas.md # 踩坑本
├── architecture.md # 架构决策
├── api_notes.md # 接口行为说明
├── task_progress.md # 当前任务进度
├── .gitattributes # Git attributes(保持文本格式一致)
└── sync_meta.json # 同步元数据 (设备识别)最佳实践:直接将
.context/一并 commit 进业务代码仓库。如果你不希望污染业务代码,也可以在独立的文件夹(专用的 context 仓库)中运行 Agent。
Available Tools
4 toolssync_initA
Bootstrap Context Sync for a project that has not been initialized yet. Use for first-time setup requests such as /sync-init, 'init context', 'initialize sync', or 'set up context sync for this repo'. If context already exists, do not overwrite it; guide the user to /sync-load instead.
| Name | Required | Description | Default |
|---|---|---|---|
| summary | No | Optional: initial SUMMARY.md content to seed the project. | |
| progress | No | Optional: initial task_progress.md content to seed the project. | |
| auto_push | No | Optional: whether to automatically perform the first sync_push after bootstrapping. Defaults to true. | |
| project_path | No | Optional: absolute path to the target project. If omitted, uses CONTEXT_SYNC_PROJECT_PATH env var or current working directory. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full disclosure burden. It discloses the critical safety behavior — it will not overwrite existing context — plus the redirect behavior to sync_load. It does not detail what files are created or what the tool returns, but the most decision-relevant behavioral trait is clearly stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with zero filler: purpose first, trigger conditions second, exclusion and alternative third. Every sentence earns its place, and the most decision-relevant information — when not to use the tool — is unambiguously stated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with four optional, fully schema-documented parameters and no output schema, the description covers the essential decision factors: purpose, trigger phrases, exclusion criteria, and the no-overwrite safeguard. The only minor omission is expected return/output behavior, a small gap given the tool's low complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with all four optional parameters (summary, progress, auto_push, project_path) fully documented in the input schema, so the baseline of 3 applies. The description adds no parameter-level detail, but none is needed given the schema's completeness.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource — 'Bootstrap Context Sync' — and scopes it to 'a project that has not been initialized yet.' It explicitly names the sibling sync_load as the destination for existing contexts, so an agent can distinguish the tools without inspecting their schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use guidance with concrete trigger phrases ('/sync-init', 'init context', 'initialize sync', 'set up context sync for this repo') and an explicit exclusion: 'If context already exists, do not overwrite it; guide the user to /sync-load instead.' This names the alternative and the condition that selects it, leaving nothing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sync_loadA
Pull latest .context/ files from remote git and return their contents. Use for load/pull/restore/recover requests such as /sync-load, 'sync pull', 'pull context', 'load context', or 'restore context on a new device'. Do NOT use sync_push for these requests.
| Name | Required | Description | Default |
|---|---|---|---|
| topic | No | Optional: load only a specific topic file | |
| project_path | No | Optional: absolute path to the target project. If omitted, uses CONTEXT_SYNC_PROJECT_PATH env var or current working directory. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the source (remote git), the target (.context/ files), and the output (return contents), but it does not clarify whether local files are overwritten, whether authentication or network access is required, or what happens if no remote context exists. More side-effect disclosure would strengthen this.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: first sentence states purpose, second gives usage context, third provides an exclusion. Every sentence contributes without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with only two optional parameters and no output schema, the description covers purpose, invocation triggers, and result type. It could be more complete by noting side effects on local files, but the essentials for selecting and invoking the tool are present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and both parameters have meaningful descriptions in the schema. The description itself adds no additional parameter detail, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear action ('Pull latest .context/ files from remote git') and an explicit result ('return their contents'). It also names concrete request aliases, making the tool's purpose immediately recognizable and distinguishable from its siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly enumerates when to use the tool ('load/pull/restore/recover requests') with concrete examples, and explicitly warns against using sync_push for these requests. This gives an agent unambiguous selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sync_pushA
Push local .context/ files to remote git. Auto-generates SUMMARY.md. Use only for save/upload/push requests such as /sync-save, 'sync push', 'save context', or 'upload context'. Do NOT use this tool for pull/load/restore/new-device recovery requests.
| Name | Required | Description | Default |
|---|---|---|---|
| summary | No | Optional: custom SUMMARY.md content. If omitted, auto-generated from existing context files. | |
| project_path | No | Optional: absolute path to the target project. If omitted, uses CONTEXT_SYNC_PROJECT_PATH env var or current working directory. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the core behavior (pushing local .context/ files to remote git) and an important side effect (auto-generating SUMMARY.md). It could add more detail about destructive effects, commit behavior, or git prerequisites, but the described behavior is specific and not misleading.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the core action, followed by explicit usage triggers and exclusions. No filler or redundant restatement of the parameter schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description covers the core action, the generated artifact, and when to use it. Minor gaps remain, such as git prerequisites, branch behavior, or failure semantics, but the essential information for correct invocation is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers both parameters fully (100%), so the description does not need to repeat them. The description adds the context that SUMMARY.md is auto-generated, which aligns with the summary parameter, but it does not add meaning beyond what the schema already provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Push'), a concrete resource ('local .context/ files'), and a target ('remote git'), and adds that SUMMARY.md is auto-generated. It clearly differentiates itself from sibling tools by framing itself as the save/upload/push operation and explicitly excluding pull/load/restore scenarios.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit when-to-use triggers such as '/sync-save', 'sync push', 'save context', and 'upload context', and explicitly says not to use it for pull/load/restore/new-device recovery. This is strong routing guidance that prevents misuse.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
write_contextA
Batch write memory entries to .context/ files. Supports append (for gotchas, architecture, api_notes) and overwrite (for progress, summary). Use this to record discoveries, decisions, and progress during development.
| Name | Required | Description | Default |
|---|---|---|---|
| entries | Yes | Array of entries to write | |
| project_path | No | Optional: absolute path to the target project. If omitted, uses CONTEXT_SYNC_PROJECT_PATH env var or current working directory. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full disclosure burden. It clearly states the mutation ('write ... to .context/ files') and distinguishes additive append from replacing overwrite, which is meaningful behavioral context. However, it does not warn that overwrite discards existing content or describe what happens on repeated writes, so the destructive edge of the tool is only implied, not disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, roughly 40 words, with the core action front-loaded and every sentence earning its place: what it does, mode-to-file mapping, and usage intent. It repeats nothing from the schema and contains no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter tool with no output schema and no annotations, the description covers the operation, both modes, and the intended use case, while the 100%-covered schema handles parameter details including project_path resolution. The only notable gap is the unstated destructive consequence of overwrite, which is already accounted for under behavioral transparency.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds value beyond the schema by pairing action enum values with specific file enum values — guidance the schema does not provide — so agents know e.g. to append gotchas and overwrite progress. This mapping meaningfully reduces ambiguity in constructing entries.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource — 'Batch write memory entries to .context/ files' — and immediately differentiates the two write modes. It clearly distinguishes from the sync_* siblings (sync_init, sync_push, sync_load), which handle context synchronization rather than writing memory entries, so an agent can select this tool without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Use this to record discoveries, decisions, and progress during development' is an explicit when-to-use signal, and the append/overwrite mapping ('append for gotchas, architecture, api_notes; overwrite for progress, summary') routes the agent to the correct mode per file type. It does not name alternatives or state when not to use it, but the context is clear enough that exclusions are not critical.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
4 tool updates
v0.1.1- First observed
sync_init - First observed
sync_load - First observed
sync_push - First observed
write_context
TDQS
The four tools split cleanly by lifecycle stage: local writing, initialization, git push, and git pull. Each description includes clear usage triggers and negative constraints, so an agent should not confuse them.
Three tools follow a sync_<verb> pattern, while write_context uses verb_<object>. The snake_case convention is consistent and the actions are clear, so this is only a minor structural deviation.
Four tools is well-scoped for a context sync server. Each tool earns its place by covering a necessary step: initialize, write, push, and load.
The core lifecycle from initialization to local writes to remote sync is covered, including first-time setup and new-device recovery. Minor gaps like delete operations or sync status checks are missing but are not blocking for the main workflow.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Shared memory for coding agents. Stop re-explaining your codebase every session.
- OneLoreOAuthai.onelore
Shared project context for AI agents and teams: docs, tasks, and messages that stay current.
Give your AI agent a persistent map of your project's structure, dependencies, and bugs.
Shared, versioned context that humans and AI agents can publish, review, annotate, and continue.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceProvides persistent memory for AI coding agents across sessions by saving and loading session context like tasks, decisions, and blockers.286MIT
- AlicenseNot gradedqualityDmaintenanceProvides persistent memory for AI coding agents through the Model Context Protocol, enabling them to store and retrieve project knowledge across sessions.33MIT
- AlicenseNot gradedqualityBmaintenancePersistent, structured memory for AI coding agents via a git-like filesystem with branch/commit/merge tools, enabling agents to maintain context across sessions.MIT
- AlicenseNot gradedqualityAmaintenanceEnables AI coding assistants to store and retrieve project-aware context as plain Markdown files locally, with no cloud or vector database required.2MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/1EchA/context-sync-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server