Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"$schema": "https://anthropic.com/claude-code/marketplace.schema.json",
"name": "aixplain",
"description": "Claude Code plugins for the aixplain platform — search the marketplace and work with aixplain assets directly from your editor.",
"owner": {
"name": "aixplain",
"url": "https://aixplain.com"
},
"plugins": [
{
"name": "aixplain-marketplace",
"description": "Search the aixplain marketplace from your editor — find agents, models, tools, and integrations across the whole catalog, read pricing and hosting, and get working code to call any asset via SDK, REST, or MCP.",
"source": "./plugins/aixplain-marketplace",
"category": "development",
"author": {
"name": "aixplain",
"url": "https://aixplain.com"
},
"homepage": "https://studio.aixplain.com"
}
]
}
81 changes: 81 additions & 0 deletions plugins/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
# aixplain Plugins

Claude Code **plugins** for the [aixplain](https://aixplain.com) platform.

A plugin bundles a [skill](../skills/README.md) together with the MCP servers it needs, so one install
gives your coding agent both the knowledge and the live connection. Where a skill teaches an agent how
to do something, a plugin also hands it the tools.

---

## Available plugins

| Plugin | Description |
|--------|-------------|
| [aixplain-marketplace](./aixplain-marketplace) | Search the aixplain marketplace from your editor — find agents, models, tools, and integrations in one call, read pricing and hosting, and get working code to call any asset via SDK, REST, or MCP. |

---

## Install

```
/plugin marketplace add aixplain/aiXplain
```

Then install the plugin you want. Each plugin's README lists the environment variables it expects —
typically just an aixplain API key:

```bash
export AIXPLAIN_API_KEY=your_api_key
```

Create a key at [studio.aixplain.com](https://studio.aixplain.com) under Settings → API Keys.

---

## Plugin or skill?

Both work. Pick by what you need:

| | Skill alone | Plugin |
|---|---|---|
| Teaches the agent aixplain patterns | yes | yes |
| Connects live MCP servers | no — add them yourself | yes, bundled |
| Install | copy a folder to `~/.claude/skills/` | one command |

A plugin's skill can always be lifted out and used on its own — copy its `skills/<name>/SKILL.md` to
`~/.claude/skills/<name>/SKILL.md` and configure the MCP server separately. Useful for clients that
read skills but not Claude Code plugins.

---

## Layout

```
plugins/<plugin-name>/
├── .claude-plugin/plugin.json # manifest: name, description, author
├── .mcp.json # MCP servers, keys referenced as ${ENV_VAR}
├── README.md # what it does, install, what works
└── skills/<skill-name>/
└── SKILL.md # the instructions the agent loads
```

`.mcp.json` must never contain a literal API key — reference an environment variable
(`"Authorization": "Bearer ${AIXPLAIN_API_KEY}"`) so nothing secret is committed.

---

## Other MCP clients

The MCP servers a plugin declares are client-agnostic and work in Cursor, VS Code, Codex, and Claude
Desktop. Only the plugin *packaging* is Claude Code specific. Each plugin's README documents the
equivalent config for other clients.

---

## Contributing

Add a folder under `plugins/`, following the layout above, and register it in the `plugins` array of
[`.claude-plugin/marketplace.json`](../.claude-plugin/marketplace.json) at the repo root. Verify every
documented call against a real run before committing it — a plugin that describes behavior the platform
does not have is worse than no plugin.
11 changes: 11 additions & 0 deletions plugins/aixplain-marketplace/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"name": "aixplain-marketplace",
"description": "Search the aixplain marketplace from your editor — find agents, models, tools, and integrations across the whole catalog, read pricing and hosting, and get working code to call any asset via SDK, REST, or MCP.",
"version": "0.1.0",
"author": {
"name": "aixplain",
"url": "https://aixplain.com"
},
"homepage": "https://studio.aixplain.com",
"keywords": ["aixplain", "marketplace", "search", "models", "agents", "mcp"]
}
10 changes: 10 additions & 0 deletions plugins/aixplain-marketplace/.mcp.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"aixplain-marketplace-search": {
"type": "http",
"url": "https://models-mcp.aixplain.com/mcp/6960f934f316da19e5f22494",
"headers": {
"Authorization": "Bearer ${AIXPLAIN_API_KEY}",
"Accept": "application/json, text/event-stream"
}
}
}
130 changes: 130 additions & 0 deletions plugins/aixplain-marketplace/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
# aixplain Marketplace plugin

Search the aixplain marketplace from inside Claude Code, and get working code back.

Driven by the first-party Marketplace Search tool (`6960f934f316da19e5f22494`). A hosted equivalent —
the **Marketplace Concierge** agent — is published on the marketplace at
`aixplain/marketplace-concierge/aixplain` for anyone who would rather ask in Studio than in an editor.
Neither depends on the other.

## Sharing this with someone

**If they use Claude Code and you can send them files** — two steps, no repo access needed:

1. Add the server:
```bash
claude mcp add --transport http aixplain-marketplace-search \
https://models-mcp.aixplain.com/mcp/6960f934f316da19e5f22494 \
--header "Authorization: Bearer THEIR_API_KEY"
```
2. Send them `skills/marketplace-search/SKILL.md` to save at
`~/.claude/skills/marketplace-search/SKILL.md`.

That is the whole thing. The plugin wrapper is a convenience for installing both at once — it is not
required, and the skill works standalone.

**If they use Codex, Cursor, or another MCP client** — the server works anywhere; only the skill
packaging is Claude Code specific. See [Other clients](#other-clients) below.

**As an installable plugin** — one command:

```
/plugin marketplace add aixplain/aiXplain
```

then install `aixplain-marketplace`. This also installs the `marketplace-search` skill and wires up the
MCP server in one step.

## Other clients

The MCP server is client-agnostic. The skill is not — `SKILL.md` is a Claude Code format.

**Codex** (`~/.codex/config.toml`) — Codex supports remote HTTP MCP servers via a bare `url =`. For a
static auth header the reliable path is the `mcp-remote` stdio bridge:

```toml
[mcp_servers.aixplain-marketplace-search]
command = "npx"
args = ["-y", "mcp-remote", "https://models-mcp.aixplain.com/mcp/6960f934f316da19e5f22494", "--header", "Authorization:${AUTH_HEADER}"]

[mcp_servers.aixplain-marketplace-search.env]
AUTH_HEADER = "Bearer YOUR_API_KEY"
PATH = "/opt/homebrew/bin:/usr/bin:/bin"
```

To give Codex the same query knowledge, paste the body of `skills/marketplace-search/SKILL.md` into
`~/.codex/AGENTS.md`.

**Claude Desktop and older clients** without native remote MCP use the same `mcp-remote` bridge in
JSON form — see the MCP config block inside the skill.

## Install

```bash
export AIXPLAIN_API_KEY=your_aixplain_api_key
```

Get a key from https://studio.aixplain.com under account settings, then add this plugin. The bundled
`.mcp.json` wires up the marketplace search MCP server with that key — no config editing.

The server is PROD, so you are searching the live catalog.

## What you get

The `marketplace-search` skill, plus the MCP server it drives. Ask in plain language:

```
Do we have a Whisper model? Who hosts it and what does it cost?
How many LLMs are on aixplain? How many hosted by OpenAI?
Which integrations are developed by aixplain?
Find me a speech-to-text model and show me how to call it
Find a web search tool and attach it to a new agent
```

One `search` spans agents, models, tools, and integrations at once — you do not need to know the asset
type up front.

## What works today

Verified against PROD on 2026-08-18:

| | |
|---|---|
| Search across agents, models, tools, integrations in one call | yes |
| Filter by category, developer, supplier, host, function, type | yes |
| Read pricing, host, supplier, status | yes |
| Read an asset's real input schema | yes |
| Emit SDK / REST / MCP / agent-attach code from that schema | yes |
| Run and test an asset via generated SDK code | yes |
| Sort results (cheapest, newest) | no — no sort parameter; sort locally after paging |
| Run an asset via the MCP `run_*` actions | no — broken, use generated code instead |

## Beyond search

The skill reads each asset's real input schema (`list_inputs_*`) before writing a snippet, so the code
it emits uses the asset's actual parameter names rather than placeholders. From a single hit it can
produce:

- a Python SDK call
- an `aix.Agent(tools=[...])` block that attaches the asset to a new agent
- a REST call with the right endpoint for that asset type
- an MCP config block so another client can use that specific asset directly

## Layout

```
plugins/aixplain-marketplace/
.claude-plugin/plugin.json manifest
.mcp.json marketplace search server, ${AIXPLAIN_API_KEY}
skills/marketplace-search/ the skill
```

The skill is usable on its own: copy `skills/marketplace-search/SKILL.md` to
`~/.claude/skills/marketplace-search/SKILL.md` and add the MCP server separately.

## Notes

- Models and tools are individually available over hosted MCP; agents and integrations are not.
- Pricing comes back in two shapes — per-unit (`price` + `unit_type`) and per-token (`input_price` /
`output_price`). The skill reports whichever applies.
- The search MCP tool ID (`6960f934f316da19e5f22494`) is stable across environments.
Loading
Loading