Metadata-Version: 2.4
Name: rastro.ai
Version: 0.2.0
Summary: MCP server for Rastro catalog operations — 26 tools for schema, items, activities, snapshots, AI mapping, judging, and image editing
Project-URL: Homepage, https://github.com/Rastro-AI/rastro-mcp
Project-URL: Documentation, https://docs.rastro.ai/mcp/quickstart
Project-URL: Issues, https://github.com/Rastro-AI/rastro-mcp/issues
Author-email: Rastro <support@rastro.ai>
License: MIT
License-File: LICENSE
Keywords: ai,catalog,enrichment,mcp,rastro
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: <3.14,>=3.11
Requires-Dist: httpx>=0.26.0
Requires-Dist: pandas>=2.2.0
Requires-Dist: pyarrow>=15.0.0
Requires-Dist: pydantic>=2.5.0
Description-Content-Type: text/markdown

# rastro-mcp

Standalone MCP server for Rastro catalog workflows.

## What this is

- API-key-only MCP server for Codex/Claude
- No direct database access needed
- Activity-first safety model (stage -> review in dashboard -> apply)

## Install

```bash
git clone https://github.com/Rastro-AI/rastro-mcp.git
cd rastro-mcp
uv sync
```

## Required environment

```bash
# Option A (recommended): API key auth
export RASTRO_API_KEY="rastro_pk_..."

# Option B: bearer token from web auth session
# export RASTRO_ACCESS_TOKEN="<jwt>"

export RASTRO_BASE_URL="https://catalogapi.rastro.ai/api"
# optional
# export RASTRO_ORGANIZATION_ID="<org_uuid>"
```

### Browser login from CLI (no copy/paste)

```bash
uv run rastro-mcp login
# then apply the printed export in your shell:
# export RASTRO_ACCESS_TOKEN='...'
```

This opens `dashboard.rastro.ai`, uses your existing web session, and redirects back to a localhost callback.

## Run (stdio)

```bash
uv run rastro-mcp
```

Equivalent:

```bash
uv run python -m rastro_mcp.server
```

## Codex / Claude MCP config

Use a workspace `.mcp.json` entry like:

```json
{
  "mcpServers": {
    "rastro": {
      "command": "bash",
      "args": [
        "-lc",
        "cd /ABSOLUTE/PATH/rastro-mcp && export RASTRO_API_KEY='rastro_pk_...' && export RASTRO_BASE_URL='https://catalogapi.rastro.ai/api' && uv run rastro-mcp"
      ]
    }
  }
}
```

## Safety defaults

- Programmatic approve/apply is disabled.
- Use dashboard review URL to approve/apply.
- Large staged updates are chunked internally into one activity.

## Docs

- Quickstart: https://docs.rastro.ai/mcp/quickstart
- Reference: https://docs.rastro.ai/mcp/reference

## License

MIT

## PyPI Publish Notes

- GitHub Actions workflow: `.github/workflows/publish.yml`
- Trusted publisher values on PyPI must match:
  - Owner: `Rastro-AI`
  - Repository: `rastro-mcp`
  - Workflow: `publish.yml`
