From 52c6166589e0abe383d5d73f871bdda422b3a0f8 Mon Sep 17 00:00:00 2001 From: gnzjgo <29075486+gnzjgo@users.noreply.github.com> Date: Fri, 2 Oct 2026 11:32:39 +0200 Subject: [PATCH 1/2] Add RawTree plugin --- content/plugins/rawtree.md | 36 +++++++++++++++++++++++++++++++ public/icons/plugins/rawtree.png | Bin 0 -> 14830 bytes 2 files changed, 36 insertions(+) create mode 100644 content/plugins/rawtree.md create mode 100644 public/icons/plugins/rawtree.png diff --git a/content/plugins/rawtree.md b/content/plugins/rawtree.md new file mode 100644 index 0000000..99fd12d --- /dev/null +++ b/content/plugins/rawtree.md @@ -0,0 +1,36 @@ +--- +type: plugin +name: "RawTree" +slug: rawtree +tagline: "Give your Grok Bot a schema-free analytics database it can write events to and query." +category: data +subcategory: dashboards +install_steps: + - "Request access to the RawTree private beta at rawtree.com, then sign in. RawTree is a schema-free OLAP database for agents: you send JSON events and tables are created on the first insert." + - "In your Grok Bot's connector / MCP settings, add a custom connector pointing at https://mcp.rawtree.com/mcp (Streamable HTTP). A browser opens for OAuth 2.0 sign-in (PKCE); there is no API key to paste, and access is revocable." + - "For a headless bot that cannot open a browser, create a RawTree API key and send it as a Bearer token. Keep it in your connector's secret field, never in the prompt. See the MCP reference at rawtree.com/docs/reference/mcp." + - "Paste the prompt below so querying and analysing your event data becomes a standing capability you can drive in plain language." +prompt: "You are setting up a RawTree integration inside Grok Bot. RawTree is a schema-free OLAP/analytics database for agents: data goes in as JSON events, tables are created on the first insert, and reads are read-only SQL. First read the official MCP reference at https://rawtree.com/docs/reference/mcp. Connect to RawTree's hosted MCP server at https://mcp.rawtree.com/mcp (Streamable HTTP; a browser opens for OAuth 2.0 sign-in, no API key to paste). Use only the tools the server actually reports, and never invent a tool name, table, column, or parameter. Start by calling list-organizations, list-clusters and list-databases so you know exactly where my data lives, and tell me what you found. My sign-in covers every organization I belong to, so if there is more than one organization or cluster, ask me which organization and cluster to use before running anything. Clusters can be paused (scaled to zero); resuming one needs my explicit approval. The database argument on table and query tools is optional; if you are unsure which database applies, call list-databases and ask me. Prefer read-only tools: run-query, list-tables, describe-table and list-logs. If list-logs output contains other users' emails or query text, do not repeat them back to me or copy them anywhere; summarise without them. Before writing a query, call describe-table so you use real column names, and keep queries narrow (add LIMIT and time filters). Rules: ALWAYS stop and get my explicit approval, showing the exact target (organization, cluster, database, table) and the exact payload or change, before you do any of these: insert events, create or delete a table or database, pause, resume or create a cluster, change organization members, install or uninstall an app, or create or delete an API key. Never print, log, or store an API key anywhere, and never put one in a prompt, query, or event. If a tool is missing or fails, say so instead of guessing. Confirm the connection by listing my organizations, clusters and databases, then the tables in one database." +works_with: [] +project_url: https://rawtree.com +repo_url: https://github.com/rawtreedb/rawtree-mcp +x_handle: rawtreedb +author: + handle: gnzjgo + url: https://github.com/gnzjgo + platform: github +source_url: https://rawtree.com/docs/reference/mcp +featured: false +sponsor: false +added_at: "2026-10-02T00:00:00Z" +updated_at: "2026-10-02T00:00:00Z" +status: proposed +--- + +## What it does + +RawTree is a schema-free OLAP/analytics database built for agents. You send it JSON events, a table is created automatically on the first insert, and you read the data back with read-only SQL. Its MCP server exposes that to an agent as tools: list organizations, clusters, databases and tables, describe a table, run a query, and read logs, plus write and admin operations such as inserting events or managing clusters, members, apps and API keys. The MCP server is open source (MIT) at github.com/rawtreedb/rawtree-mcp. The author is affiliated with RawTree. + +## Use it in Grok Bot + +Add a custom MCP connector in your Bot pointing at `https://mcp.rawtree.com/mcp` (Streamable HTTP, OAuth sign-in, no API key to paste), then paste the prompt on this page. The OAuth grant covers every organization the signed-in user belongs to, so the Bot should confirm which organization and cluster to use before it reads or writes anything. Your Bot can then explore your databases, describe tables and answer questions about your events with read-only SQL. For a headless setup, an API key can be sent as a Bearer token. For clients that cannot use a hosted server, run `npx -y @rawtree/mcp` locally with `RAWTREE_API_KEY` set (Node 22+). Access is currently a private beta, so request it at rawtree.com first. The prompt keeps the Bot read-only by default and makes it show you the exact target and payload and wait for your approval before it inserts data, creates or deletes tables or databases, changes clusters or members, or touches apps and API keys. diff --git a/public/icons/plugins/rawtree.png b/public/icons/plugins/rawtree.png new file mode 100644 index 0000000000000000000000000000000000000000..18da911aa6fdb078dea81f6928532e65ea5e6e8e GIT binary patch literal 14830 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 UkrRp2yZ`_I07*qoM6N<$f*O&&;Q#;t literal 0 HcmV?d00001 From bc93140f195fc9700b5dc6b59be0692abe4482e8 Mon Sep 17 00:00:00 2001 From: gnzjgo <29075486+gnzjgo@users.noreply.github.com> Date: Fri, 2 Oct 2026 11:52:19 +0200 Subject: [PATCH 2/2] Address audit: credit author, content-only, access warning --- content/plugins/rawtree.md | 10 +++++++--- public/icons/plugins/rawtree.png | Bin 14830 -> 0 bytes 2 files changed, 7 insertions(+), 3 deletions(-) delete mode 100644 public/icons/plugins/rawtree.png diff --git a/content/plugins/rawtree.md b/content/plugins/rawtree.md index 99fd12d..e7fa947 100644 --- a/content/plugins/rawtree.md +++ b/content/plugins/rawtree.md @@ -8,6 +8,7 @@ subcategory: dashboards install_steps: - "Request access to the RawTree private beta at rawtree.com, then sign in. RawTree is a schema-free OLAP database for agents: you send JSON events and tables are created on the first insert." - "In your Grok Bot's connector / MCP settings, add a custom connector pointing at https://mcp.rawtree.com/mcp (Streamable HTTP). A browser opens for OAuth 2.0 sign-in (PKCE); there is no API key to paste, and access is revocable." + - "Note: the OAuth connection grants broad RawTree access, including destructive operations. You can revoke it at any time under Profile > OAuth apps in RawTree." - "For a headless bot that cannot open a browser, create a RawTree API key and send it as a Bearer token. Keep it in your connector's secret field, never in the prompt. See the MCP reference at rawtree.com/docs/reference/mcp." - "Paste the prompt below so querying and analysing your event data becomes a standing capability you can drive in plain language." prompt: "You are setting up a RawTree integration inside Grok Bot. RawTree is a schema-free OLAP/analytics database for agents: data goes in as JSON events, tables are created on the first insert, and reads are read-only SQL. First read the official MCP reference at https://rawtree.com/docs/reference/mcp. Connect to RawTree's hosted MCP server at https://mcp.rawtree.com/mcp (Streamable HTTP; a browser opens for OAuth 2.0 sign-in, no API key to paste). Use only the tools the server actually reports, and never invent a tool name, table, column, or parameter. Start by calling list-organizations, list-clusters and list-databases so you know exactly where my data lives, and tell me what you found. My sign-in covers every organization I belong to, so if there is more than one organization or cluster, ask me which organization and cluster to use before running anything. Clusters can be paused (scaled to zero); resuming one needs my explicit approval. The database argument on table and query tools is optional; if you are unsure which database applies, call list-databases and ask me. Prefer read-only tools: run-query, list-tables, describe-table and list-logs. If list-logs output contains other users' emails or query text, do not repeat them back to me or copy them anywhere; summarise without them. Before writing a query, call describe-table so you use real column names, and keep queries narrow (add LIMIT and time filters). Rules: ALWAYS stop and get my explicit approval, showing the exact target (organization, cluster, database, table) and the exact payload or change, before you do any of these: insert events, create or delete a table or database, pause, resume or create a cluster, change organization members, install or uninstall an app, or create or delete an API key. Never print, log, or store an API key anywhere, and never put one in a prompt, query, or event. If a tool is missing or fails, say so instead of guessing. Confirm the connection by listing my organizations, clusters and databases, then the tables in one database." @@ -16,8 +17,11 @@ project_url: https://rawtree.com repo_url: https://github.com/rawtreedb/rawtree-mcp x_handle: rawtreedb author: + handle: rmorehig + url: https://github.com/rmorehig + platform: github +scouted_by: handle: gnzjgo - url: https://github.com/gnzjgo platform: github source_url: https://rawtree.com/docs/reference/mcp featured: false @@ -29,8 +33,8 @@ status: proposed ## What it does -RawTree is a schema-free OLAP/analytics database built for agents. You send it JSON events, a table is created automatically on the first insert, and you read the data back with read-only SQL. Its MCP server exposes that to an agent as tools: list organizations, clusters, databases and tables, describe a table, run a query, and read logs, plus write and admin operations such as inserting events or managing clusters, members, apps and API keys. The MCP server is open source (MIT) at github.com/rawtreedb/rawtree-mcp. The author is affiliated with RawTree. +RawTree is a schema-free OLAP/analytics database built for agents. You send it JSON events, a table is created automatically on the first insert, and you read the data back with read-only SQL. Its MCP server exposes that to an agent as tools: list organizations, clusters, databases and tables, describe a table, run a query, and read logs, plus write and admin operations such as inserting events or managing clusters, members, apps and API keys. The MCP server is open source (MIT) at github.com/rawtreedb/rawtree-mcp. ## Use it in Grok Bot -Add a custom MCP connector in your Bot pointing at `https://mcp.rawtree.com/mcp` (Streamable HTTP, OAuth sign-in, no API key to paste), then paste the prompt on this page. The OAuth grant covers every organization the signed-in user belongs to, so the Bot should confirm which organization and cluster to use before it reads or writes anything. Your Bot can then explore your databases, describe tables and answer questions about your events with read-only SQL. For a headless setup, an API key can be sent as a Bearer token. For clients that cannot use a hosted server, run `npx -y @rawtree/mcp` locally with `RAWTREE_API_KEY` set (Node 22+). Access is currently a private beta, so request it at rawtree.com first. The prompt keeps the Bot read-only by default and makes it show you the exact target and payload and wait for your approval before it inserts data, creates or deletes tables or databases, changes clusters or members, or touches apps and API keys. +Add a custom MCP connector in your Bot pointing at `https://mcp.rawtree.com/mcp` (Streamable HTTP, OAuth sign-in, no API key to paste), then paste the prompt on this page. The OAuth grant covers every organization the signed-in user belongs to, so the Bot should confirm which organization and cluster to use before it reads or writes anything. The OAuth connection grants broad RawTree access, including destructive operations, and can be revoked under Profile > OAuth apps. Your Bot can then explore your databases, describe tables and answer questions about your events with read-only SQL. For a headless setup, an API key can be sent as a Bearer token. For clients that cannot use a hosted server, run `npx -y @rawtree/mcp` locally with `RAWTREE_API_KEY` set (Node 22+). Access is currently a private beta, so request it at rawtree.com first. The prompt keeps the Bot read-only by default and makes it show you the exact target and payload and wait for your approval before it inserts data, creates or deletes tables or databases, changes clusters or members, or touches apps and API keys. diff --git a/public/icons/plugins/rawtree.png b/public/icons/plugins/rawtree.png deleted file mode 100644 index 18da911aa6fdb078dea81f6928532e65ea5e6e8e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14830 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 UkrRp2yZ`_I07*qoM6N<$f*O&&;Q#;t