Skip to content

poma-ai/poma-grill

v0.5.0MPL-2.0

POMA Grill — ingest documents into the Grill context engine and run semantic search over them from any agent.

POMA Grill — agent plugin

An Agent Plugin (spec 1.0.0) that gives any supporting agent the POMA Grill context engine: ingest documents, then search them semantically.

Contents

poma-grill/
├── plugin.json                              # Agent Plugins manifest
├── mcp.json                                 # Agent Plugins MCP declaration
├── .claude-plugin/plugin.json               # Claude Code manifest
├── .mcp.json                                # Claude Code MCP declaration
├── MANUAL.md                                # install guide: Claude Code, Cursor, Codex
└── skills/
    ├── grill-ingest/
    │   ├── SKILL.md                         # ingest, batch, resume, job status
    │   └── references/errors.md             # error codes, retry rules, env limits
    └── grill-search/
        └── SKILL.md                         # search, doc scoping, projects

plugin.json and mcp.json validate against the 1.0.0 schemas (plugin, mcp). The skills follow the Agent Skills spec.

The .claude-plugin/ and .mcp.json files are Claude Code's own format, which is not the Agent Plugins standard — Claude Code reads .mcp.json, never mcp.json. Both MCP declarations point at the same endpoint; keep them in sync. Install steps for each client are in MANUAL.md — the short version is npx plugins add https://github.com/poma-ai/poma-grill-mcp, or claude plugin marketplace add poma-ai/poma-grill-mcp for Claude Code, served by .claude-plugin/marketplace.json at the repo root.

MCP server

mcp.json points at the hosted endpoint, so there is nothing to install:

{
  "poma-grill": {
    "type": "streamable-http",
    "url": "https://mcp.poma-ai.com/grill"
  }
}

Auth is OAuth 2.0. The first connection returns 401 with a WWW-Authenticate challenge and the client walks you through a browser login at console.poma-ai.com. MCP SDKs handle registration, token exchange, and refresh automatically.

Prefer an API key over OAuth? Add headers:

{
  "poma-grill": {
    "type": "streamable-http",
    "url": "https://mcp.poma-ai.com/grill",
    "headers": { "x-api-key": "your-api-key" }
  }
}

Running the binary instead

The hosted endpoint cannot read paths on your laptop, so file_path ingestion needs a local server. Swap the entry for the stdio form:

{
  "poma-grill": {
    "type": "stdio",
    "command": "poma-grill-mcp",
    "args": ["-input", "-"],
    "env": { "POMA_API_KEY": "your-api-key" }
  }
}

Install the binary via the Homebrew tap, go install, or a GitHub release — see the repo README. With the hosted endpoint, ingest remote documents by url or small ones by file_base64 instead.

Tools the plugin exposes

ToolWhat it does
grill_explainHow Grill works, and how to get an API key. No auth.
grill_ingestStart an ingest, return job_id immediately.
grill_ingest_syncIngest and wait for a terminal state.
grill_ingest_resumeReattach to a running job's status stream.
grill_ingest_batchUp to 50 files, concurrency 1–10.
grill_jobs_statusStatus snapshots for up to 50 jobs.
grill_searchHybrid search returning concatenated RAG context.
grill_docs_listDocuments in the project, with ids and labels.
grill_projectsProjects reachable by the credential, and the default.

Versioning

plugin.json tracks the MCP server version it documents (currently 0.5.0). When the tool surface in schemas/tools.json changes, update the skills and bump version here.

License

MPL-2.0