Skip to content

Claude Code marketplace and agentaos plugin (MCP + skill) - #39

Merged
PancheI merged 1 commit into
mainfrom
feat/claude-plugin
Sep 9, 2026
Merged

PancheI merged 1 commit into
mainfrom
feat/claude-plugin

Conversation

@PancheI

@PancheI PancheI commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Claude Code marketplace and agentaos plugin

Adds a Claude Code plugin marketplace to this repo so a coding agent gets AgentaOS in two commands:

claude plugins marketplace add AgentaOS/agentaos
claude plugins install agentaos@agentaos

What the plugin bundles

  • .mcp.json: the agentaos MCP server, run as npx -y agentaos (the same npm binary as the CLI; with no arguments it serves MCP over stdio). The API key is read from the user's AGENTAOS_GATEWAY_KEY environment variable, nothing is baked in.
  • skills/agentaos/SKILL.md: a copy of the served skill at https://agentaos.ai/SKILL.md (source of truth noted at the top).
  • README.md: install, the key export, and the claude mcp add … -e fallback for the open upstream issue with ${VAR} expansion in plugin MCP configs ([BUG] env variable expansion not working in plugin .mcp.json anthropics/claude-code#9427).

Validated locally

  • claude plugin validate . and claude plugin validate ./plugins/agentaos pass (strict).
  • Added by local path, installed, and claude mcp list shows plugin:agentaos:agentaos connected.

Safety review

  • No secrets, tokens or credentials in the five files (secretlint clean, pattern scan clean).
  • No private paths, personal emails or internal hosts; only public AgentaOS URLs and example domains.

🤖 Generated with Claude Code

https://claude.ai/code/session_01KdSgWa5Lf9mnHxY3x76Fy1

@PancheI
PancheI merged commit 50dfba7 into main Sep 9, 2026
1 check passed
@PancheI
PancheI deleted the feat/claude-plugin branch September 9, 2026 15:01
PancheI added a commit that referenced this pull request Sep 9, 2026
…, reusing device-code approval (#41)

## Why

ChatGPT, Claude.ai and other hosted assistants cannot run the stdio MCP
server or paste an API key. They speak OAuth 2.1 to a remote MCP server
(MCP authorization spec: protected-resource metadata, PKCE S256, CIMD /
dynamic client registration), verified against OpenAI's plugin auth doc
and Claude's custom-connector article.

## What

`packages/mcp-remote`: a Cloudflare Worker at `mcp.agentaos.ai/mcp`.

- `@cloudflare/workers-oauth-provider` is the OAuth front door
(`/authorize`, `/token`, `/register`, metadata).
- The human step reuses the platform's existing device-code approval:
`/authorize` starts a device code and sends the merchant to the app's
approve page with a return address; `/callback` redeems it for a
one-shot session, mints a normal secret key named after the client
("ChatGPT"), and seals it into the OAuth token. The session is dropped.
- `/mcp` serves the same seven `agenta_pay_*` tools as the CLI over
stateless Streamable HTTP, bound to that key. Revoking the key on
Developers disconnects the assistant; the tools then say so.
- The seven tools take a client factory (`registerPayTools(server,
getClient)`, exported as `agentaos/mcp`) so the stdio CLI and the Worker
share one implementation.

## Verified locally

`wrangler dev --local-protocol https --host localhost:8788` against the
local API and app: 401 → discovery → registration → approve page → key
minted with the client's name → tokens → `tools/list` →
`list_customers`, `create_checkout`; revoke → every tool refuses with
the reconnect sentence. Run with the MCP SDK client and with the
official MCP Inspector.

## Deploy (after the platform release that ships the approve page and
`secret_keys.label`)

`wrangler login` → `wrangler kv namespace create OAUTH_KV` (paste id) →
`wrangler deploy` (custom domain `mcp.agentaos.ai`).

Replaces #40, which GitHub closed when its base branch (#39, merged) was
deleted. Includes the changeset for agentaos 3.0.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

https://claude.ai/code/session_01KdSgWa5Lf9mnHxY3x76Fy1

---------

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant