Customize Gyaanmitra

Marketplace

Install agents, MCP servers, and skills from the Gyaanmitra catalog, or from any URL you control.

What's in the catalog

The marketplace has three kinds of thing. Gyaanmitra installs each one in its own way:

Agents

A named persona with its own system prompt and permissions. A code reviewer that can read but not edit, for example. It installs as a markdown file under agents/.

MCP servers

Tools the agent can call: a database, a browser, an issue tracker. Installs as an entry in your gyaanmitra.json.

Skills

Short instructions the agent loads when they matter, such as the conventions for one framework. Installs as a SKILL.md.

Installing

1

Open the marketplace

Open the Gyaanmitra AI panel, then Settings → Marketplace. Filter by kind and category, or search names and descriptions.

2

Choose a scope

Project installs into .gyaanmitra/ in the current workspace. You can commit it, so your team gets it too. Global installs into your user config and follows you between projects.

3

Fill in any parameters

An MCP server that needs a token or a connection string asks for it when you install. What you type is written to your own config. It is never sent to Gyaanmitra.

You can also install from a URL that points at a catalog file. Use that for anything private, such as an internal MCP server or a house style guide you do not want to publish. JSON and YAML catalogs both work.

An MCP server runs on your machine

Installing an MCP server means Gyaanmitra will start it as a local process, with your permissions. Catalog listings are reviewed, and they may only use a small set of launchers. A server you install from an arbitrary URL is not reviewed. Treat that the same way you would treat running any other program.

Submitting to the catalog

Submissions are reviewed before they are published. An approved MCP listing becomes a command line on other people's machines.

1

Sign in

You need a Gyaanmitra account to submit, so a listing has an owner who can update it later.

2

POST your listing

Send it to /api/marketplace/submissions/ with your Gyaanmitra ID token as a bearer. Every listing needs an id, name, description, category, and a content shaped for its kind.

3

Wait for review

GET /api/marketplace/submissions/ shows your submissions and their status. A reviewer approves it and publishes it to the catalog, or rejects it with a note.

The shape of content

This differs per kind. A mismatch is rejected when you submit:

Kindcontent
mcpA JSON string holding command and args, or a remote url
agentAn object with mode, description, and prompt
skillInline SKILL.md markdown, or an https:// link to one

An mcp listing must launch through one of npx, uvx, uv, node, python, docker, bunx, or deno. Its command and arguments may not contain shell metacharacters. Parameter values your users type are escaped by Gyaanmitra at install time. The template you submit is not, which is why it is constrained.

Use ${PLACEHOLDER} or {{PLACEHOLDER}} in the template for anything the user has to supply, and describe each one in parameters so the install dialog can ask for it:

{
  "type": "mcp",
  "id": "acme-mcp",
  "name": "Acme",
  "description": "Query Acme projects and issues.",
  "category": "productivity",
  "url": "https://github.com/acme/mcp-server",
  "content": "{ \"command\": \"npx\", \"args\": [\"-y\", \"@acme/mcp-server\"], \"env\": { \"ACME_TOKEN\": \"${ACME_TOKEN}\" } }",
  "parameters": [
    { "name": "Acme API token", "key": "ACME_TOKEN", "placeholder": "acme_pat_..." }
  ]
}

Ids are part of the install path

An id becomes a filename, so it is limited to letters, digits, -, _, @, and .. If you submit an id you already own, that listing is updated and sent back for review. It does not create a second listing.