You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(building-with-zep): add Cursor as a third plugin ecosystem (#581)
* feat(building-with-zep): add Cursor as a third plugin ecosystem
Adds a Cursor manifest (.cursor-plugin/plugin.json) and a repo-root Cursor
marketplace (.cursor-plugin/marketplace.json) alongside the existing Claude
and Codex manifests, so all three runtimes load the same single copy of the
skills/building-with-zep tree with no per-ecosystem duplication.
Cursor is the one exception to sharing .mcp.json: Cursor auto-discovers
mcp.json without the leading dot, and its remote-server schema has no `type`
key. Rather than rely on Cursor tolerating "type": "http", the Cursor manifest
declares the zep-docs server inline with a bare url.
Co-Authored-By: Claude <noreply@anthropic.com>
* fix(building-with-zep): move Cursor MCP config to plugin-root mcp.json
Cursor's schema permits declaring mcpServers inline in plugin.json, but no
official Cursor plugin does it -- every plugin that ships an MCP server uses a
plugin-root mcp.json, and cursor/plugins@a65002e moved the Figma plugin onto
that convention. Follow the pattern with a working precedent rather than the
one that is merely permitted.
Adds plugins/building-with-zep/mcp.json with a bare url (no `type` key, which
Cursor documents for stdio servers only) and drops the inline mcpServers field
from .cursor-plugin/plugin.json, letting Cursor auto-discover the file.
.mcp.json is unchanged and still serves Claude Code and Codex with its
`type: "http"` entry. The README now documents both files, why the duplication
is deliberate, and that the two endpoints must be kept in sync -- resolving the
earlier claim that zep-docs was "declared once in .mcp.json".
Co-Authored-By: Claude <noreply@anthropic.com>
---------
Co-authored-by: Claude <noreply@anthropic.com>
"description": "Build and configure applications that use Zep — agent memory built on temporal Context Graphs. Bundles the building-with-zep skill (how to reason about and build on Zep) and the Zep documentation MCP server (real-time docs search).",
Copy file name to clipboardExpand all lines: plugins/building-with-zep/README.md
+39-6Lines changed: 39 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,18 +1,34 @@
1
1
# building-with-zep
2
2
3
-
A plugin for building applications that use [Zep](https://www.getzep.com) — agent memory built on temporal Context Graphs. This one directory is **both** a Claude Code plugin and an OpenAI Codex plugin, wrapping a single shared skill.
3
+
A plugin for building applications that use [Zep](https://www.getzep.com) — agent memory built on temporal Context Graphs. This one directory is simultaneously a Claude Code plugin, an OpenAI Codex plugin, and a Cursor plugin, wrapping a single shared skill.
4
4
5
5
It bundles two things:
6
6
7
7
-**The `building-with-zep` skill** (`skills/building-with-zep/`) — the decision-and-workflow layer for building on Zep: scoping graphs, ingesting data, retrieving context, and evaluating whether Zep delivers your use case. It indexes the Zep docs rather than duplicating them. Model-invoked when you work on Zep integration code.
8
-
-**The Zep documentation MCP server** (`zep-docs`) — real-time search over Zep's docs at `https://docs-mcp.getzep.com/mcp` (remote HTTP, no API key), declared once in `.mcp.json`.
8
+
-**The Zep documentation MCP server** (`zep-docs`) — real-time search over Zep's docs at `https://docs-mcp.getzep.com/mcp` (remote HTTP, no API key). Claude Code and Codex read it from `.mcp.json`; Cursor reads it from `mcp.json`. See [MCP config](#mcp-config-two-files-one-server) for why there are two.
9
9
10
-
## One directory, two ecosystems
10
+
## One directory, three ecosystems
11
11
12
-
Both runtimes load the **same**`skills/building-with-zep/` tree and the **same**`.mcp.json`; each reads only its own manifest and ignores the other's. There is exactly one physical copy of the skill — no per-ecosystem duplication and no sync step.
12
+
All three runtimes load the **same**`skills/building-with-zep/` tree; each reads only its own manifest and ignores the others'. There is exactly one physical copy of the skill, so no per-ecosystem duplication and no sync step for the substance of this plugin. The MCP server config is the one thing that exists twice, for the reason below.
13
13
14
14
-**Claude Code** — manifest `.claude-plugin/plugin.json`; auto-discovers `skills/` and `.mcp.json`. Listed in the marketplace at the repo root (`.claude-plugin/marketplace.json`).
15
15
-**Codex** — manifest `.codex-plugin/plugin.json` (points at `./skills/` and `./.mcp.json`). Listed in the Codex marketplace at `.agents/plugins/marketplace.json`.
16
+
-**Cursor** — manifest `.cursor-plugin/plugin.json` (points at `./skills/`); auto-discovers `mcp.json`. Listed in the Cursor marketplace at `.cursor-plugin/marketplace.json`.
17
+
18
+
### MCP config: two files, one server
19
+
20
+
`zep-docs` is declared twice, and the duplication is deliberate:
21
+
22
+
| File | Read by | Shape |
23
+
|---|---|---|
24
+
|`.mcp.json`| Claude Code, Codex |`{"type":"http","url":...}`|
25
+
|`mcp.json`| Cursor |`{"url":...}`, no `type`|
26
+
27
+
Cursor discovers `mcp.json` at the plugin root, without the leading dot, and its remote-server schema has no `type` key (`type` is documented for stdio servers only). A single shared file would therefore have to rely on Cursor tolerating `"type": "http"`, which is undocumented.
28
+
29
+
Declaring the server inline under `mcpServers` in `.cursor-plugin/plugin.json` is permitted by Cursor's schema, but no official Cursor plugin does it — every one that ships an MCP server uses a plugin-root `mcp.json`, and [`cursor/plugins@a65002e`](https://github.com/cursor/plugins/commit/a65002e3) moved the Figma plugin onto that convention. This plugin follows it.
30
+
31
+
**Both files point at `https://docs-mcp.getzep.com/mcp`. Change one and you must change the other.**
16
32
17
33
## Install
18
34
@@ -27,13 +43,29 @@ Local dev: `claude --plugin-dir plugins/building-with-zep`.
27
43
28
44
**Codex** — install per the [Codex plugins docs](https://learn.chatgpt.com/docs/build-plugins) via the marketplace at `.agents/plugins/marketplace.json`.
29
45
46
+
**Cursor** — requires Cursor 2.5 or later. In an Agent chat, type the full command; it does not appear in autocomplete:
This resolves `building-with-zep` through `.cursor-plugin/marketplace.json` at the repo root, and installs the skill and the `zep-docs` server (from `mcp.json`) together. No Cursor Marketplace listing is involved.
53
+
54
+
Local dev: symlink the plugin directory into Cursor's local plugin folder, then run **Developer: Reload Window**.
0 commit comments