RawTree MCP Server
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_PORT | No | HTTP port when using --http mode | |
| RAWTREE_ORG | No | Organization name for scoped routes | |
| RAWTREE_URL | No | RawTree API URL, defaults to https://api.rawtree.com | |
| RAWTREE_TOKEN | No | Alias for RAWTREE_API_KEY | |
| RAWTREE_API_KEY | No | RawTree project API key | |
| RAWTREE_PROJECT | No | Project name for scoped routes |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| check-healthA | Purpose: Check that the configured RawTree API endpoint is reachable. NOT for: Validating project permissions or checking whether a specific table exists. Use list-tables or run-query for authenticated checks. Returns: The RawTree health response. When to use:
|
| run-queryA | Purpose: Execute a read-only SQL query against the configured RawTree project and return JSON rows, column metadata, statistics, and hints. NOT for: Inserting, updating, deleting, or mutating data. RawTree validates queries as read-only and rejects unsafe statements. Returns: RawTree's query response: meta, data, rows, statistics, and optional hints. When to use:
Workflow: Start with a bounded SELECT. For exploratory queries, include LIMIT and order by a time column when available. Key trigger phrases: "query RawTree", "run SQL", "count rows", "show sample rows", "check the data" |
| insert-jsonA | Purpose: Insert one JSON object or an array of JSON objects into a RawTree table. RawTree auto-creates the table on first insert. NOT for: Loading data from a public URL (use insert-from-url). Not for transformed URL ingest; transforms only apply to JSON request bodies. Returns: Insert confirmation, usually { "inserted": <row_count> }. Firehose transform returns request metadata. When to use:
Workflow: Choose a table name → send a small representative payload → run describe-table or run-query to verify. Key trigger phrases: "insert this", "send event", "write to RawTree", "create table with data", "ingest JSON" |
| insert-from-urlA | Purpose: Ask RawTree to ingest JSON/JSONL data from a public URL into a table. RawTree streams progress as NDJSON. NOT for: Private files on your machine, authenticated URLs, or built-in transforms. Host transformed data first or use insert-json with transform. Returns: The RawTree NDJSON progress stream as text. When to use:
Workflow: Confirm the URL is public → call insert-from-url → use list-logs and run-query to verify. Key trigger phrases: "ingest this URL", "load JSONL from", "import from public file" |
| list-tablesA | Purpose: List all tables in the configured RawTree project with row and byte counts. NOT for: Reading table rows. Use run-query for data and describe-table for columns. Returns: Tables plus project and organization context. When to use:
|
| describe-tableA | Purpose: Inspect a RawTree table's columns, row count, byte count, project, and organization. NOT for: Sampling actual row values. Use run-query for SELECT queries. Returns: Table metadata and columns. When to use:
|
| delete-tableA | Purpose: Permanently delete a RawTree table and its data. NOT for: Clearing a query result or undoing a single insert. This deletes the whole table. Returns: Deletion confirmation. Safety: You MUST ask the user to confirm the exact table name before calling this tool. This action requires an admin key and cannot be undone. |
| list-logsA | Purpose: List recent RawTree insert/query/describe/explain activity for the configured project. NOT for: Reading application log files from disk or infrastructure logs. This tool reads RawTree's product query and insert logs. Returns: Log entries with time, type, status, origin, query, exception, rows, duration, bytes, tables, projections, hints, and pagination. When to use:
Workflow: Start with status=error for the last hour. Narrow by table or type if needed. Use next_offset for pagination. Key trigger phrases: "check RawTree logs", "why did the insert fail", "show query history", "recent errors" |
| list-api-keysA | Purpose: List API keys for the configured RawTree project. NOT for: Creating or revoking credentials. Use create-api-key or delete-api-key for those workflows. Returns: API key names, IDs, token hints, permissions, project, organization, and creation dates. Auth: Unscoped /v1/keys requires an admin project API key. When RAWTREE_ORG and RAWTREE_PROJECT are configured, this uses RawTree's scoped route. When to use:
|
| create-api-keyA | Purpose: Create a new RawTree API key for the configured project. NOT for: User login or creating projects. Use RawTree auth/CLI or the dashboard for those workflows. Returns: The new API key token. The token is only shown once, so you MUST display it to the user. Auth: Requires admin permission for unscoped project API key auth. When RAWTREE_ORG and RAWTREE_PROJECT are configured, this uses RawTree's scoped route. When to use:
|
| delete-api-keyA | Purpose: Permanently revoke and delete a RawTree API key by UUID or full token. NOT for: Deleting a table, project, or user session. Returns: Deletion confirmation. Safety: You MUST list or identify the key first, ask the user to confirm the exact key name or ID, and warn that services using it will lose access. This action cannot be undone. |
| get_projectA | Purpose: Return the configured RawTree project identity using the current token. NOT for: Listing tables inside a project. Use list-tables for project data. Returns: A compact project shape: { "name": "...", "organization": { "name": "..." } }. Auth: Uses GET /v1/keys and parses the project and organization from that response. If the current project API key cannot list keys, it falls back to GET /v1/tables, which exposes the same project identity for read-capable keys. When to use:
|
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/rawtreedb/rawtree-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server