mirror of
https://github.com/chainbase-labs/Agentkey.git
synced 2026-09-20 14:20:23 +08:00
71331667a3
## Summary Ships this repo as a **Codex plugin**, alongside the existing Claude Code plugin and Skills-CLI paths. - **`.codex-plugin/plugin.json`** — Codex plugin manifest: bundles `skills/`, points `mcpServers` at `.codex-plugin/mcp.json`, and carries `interface` metadata for the install UI (fields calibrated against the official Notion/Figma plugins in `openai/plugins`). - **`.codex-plugin/mcp.json`** — remote-HTTP MCP entry for `https://api.agentkey.app/v1/mcp`, authenticated via **MCP OAuth (RFC 9728 discovery)**. Codex plugins have no `userConfig`/header-interpolation mechanism, so the Claude-style `${user_config.AGENTKEY_API_KEY}` injection can't be reused. - **`.agents/plugins/marketplace.json`** — the repo is its own Codex marketplace: `codex plugin marketplace add chainbase-labs/agentkey`, then install AgentKey from `/plugins`. - **`release-please-config.json`** — bumps the Codex manifest version in lockstep with the Claude one. - **`AGENTS.md`** — accurate agent-facing repo guidance mirroring `.claude/CLAUDE.md` (replaces a stale draft that predated `@agentkey/cli`). - **Description/keywords refresh** — both plugin manifests and the Claude marketplace entry now use the Product Hunt positioning ("one-stop live data marketplace for your agent") and cover the full category list (finance, e-commerce, business data, weather/maps, travel). - **README / README_zh** — document the Codex plugin install path. ## Why no `oauth_resource` The first local test failed at the Clerk authorize endpoint with `invalid_request: The request includes the parameter 'resource' more than once`. Root cause: the rmcp SDK already appends `resource=<server url>` to the authorization request automatically (RFC 8707), and Codex appends a configured `oauth_resource` as a *second* `resource` param without deduplication (`codex-rs/rmcp-client/src/perform_oauth_login.rs`). Clerk enforces RFC 6749's no-repeated-params rule. Since our server fully advertises RFC 9728 resource metadata, `type` + `url` alone is sufficient — discovery does the rest. Guardrails documented in `.claude/CLAUDE.md` / `AGENTS.md` checklists. ## Test plan - [x] All JSON manifests validate - [x] `codex plugin marketplace add <local path>` + install succeeds (Codex desktop) - [ ] OAuth sign-in completes end-to-end after `oauth_resource` removal (re-test pending) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Fable 5 <noreply@anthropic.com>