Skip to content

MCP: Add first wave of material, mostly indexing existing others #204

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
May 20, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/integrate/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ orm
df
etl/index
cdc/index
mcp/index
metrics/index
visualize/index
bi/index
Expand Down
44 changes: 44 additions & 0 deletions docs/integrate/mcp/community.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# MCP Community Servers

This section introduces popular community-run Model Context Protocol servers
for PostgreSQL and CrateDB.

::::{grid} 1
:gutter: 2

:::{grid-item-card} {material-outlined}`image_search;2em` MCP Server landscape
:link: ctk:query/mcp/landscape
:link-type: doc
:link-alt: MCP Server landscape
:class-footer: text-smaller

An overview of the MCP server landscape, focusing on the most popular servers
that connect to both PostgreSQL and CrateDB.
+++
The document includes detailed MCP API capabilities about all of them,
regarding available prompts, resources, and tools.
:::

:::{grid-item-card} {material-outlined}`settings;2em` Configure
:link: ctk:query/mcp/server
:link-type: doc
:link-alt: MCP Server configuration
:class-footer: text-smaller

Guidelines for configuring popular MCP servers that connect
to both PostgreSQL and CrateDB.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: is it needed to mention postgresql?

Copy link
Member Author

@amotl amotl May 19, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi. I think it conveys best what's inside to make the reader expect the right thing: All of those community MCP database adapters are focusing on PostgreSQL, but work with CrateDB because it is compatible. 1

Do you see any harm in making the fact transparent that CrateDB is reasonably compatible with PostgreSQL, in this or other contexts? 1

Footnotes

  1. Sometimes it's only partially compatible, for example where it is not. However, I didn't want to get into that kind of rabbit hole here. ;] 2

+++
The document includes detailed configuration snippets and enumerates
available configuration options.
:::

:::{grid-item-card} {material-outlined}`not_started;2em` Examples
:link: https://github.com/crate/cratedb-examples/tree/main/framework/mcp
:link-type: url
:link-alt: Community MCP Server examples
:class-footer: text-smaller

Ready-to-run example programs using community MCP Servers.
:::

::::
75 changes: 75 additions & 0 deletions docs/integrate/mcp/cratedb-mcp.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
# CrateDB MCP Server

:::{rubric} About
:::

The CrateDB MCP Server for natural-language Text-to-SQL and documentation
retrieval specializes in CrateDB database clusters.

The Model Context Protocol ([MCP]) is a protocol that standardizes providing
context to language models and AI assistants.

:::{rubric} Introduction
:::

The CrateDB Model Context Protocol (MCP) Server connects AI assistants directly
to your CrateDB clusters and the CrateDB knowledge base, enabling seamless
interaction through natural language.

It serves as a bridge between AI tools and your analytics database,
allowing you to analyze data, the cluster state, troubleshoot issues, and
perform operations using conversational prompts.

:::{rubric} What's inside
:::

::::{grid} 1 2 2 2
:gutter: 2

:::{grid-item-card} {material-outlined}`integration_instructions;2em` Python package
:link: https://pypi.org/project/cratedb-mcp/
:link-type: url
:link-alt: CrateDB MCP Server Python package `cratedb-mcp`

For installing and using the package, please consult the README
document.
:::

:::{grid-item-card} {material-outlined}`description;2em` Usage
:link: https://github.com/crate/cratedb-mcp/blob/main/README.md
:link-type: url
:link-alt: CrateDB MCP Server README

README document about how to install and configure the CrateDB MCP Server.
:::

:::{grid-item-card} {material-outlined}`not_started;2em` Examples
:link: https://github.com/crate/cratedb-mcp/tree/main/examples
:link-type: url
:link-alt: CrateDB MCP Server examples

Examples using the CrateDB MCP Server.
:::

::::


Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe add an "Example" section here, including a screenshot? Thanks, @hammerhead!

image

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added per 88c4cb5, thanks again.

:::{rubric} Example
:::

An example conversation to "talk to your data using your AI assistant of choice"
may look like this in practice. It is using a dataset about weather data, where
the user is interested in values which are beyond certain thresholds.

![Example Claude conversation screenshot using CrateDB MCP](https://github.com/user-attachments/assets/db127717-329a-4d0e-901c-3e3dcaefefb9)


:::{caution}

**Experimental:** Please note that the CrateDB MCP Server is an experimental
feature provided as-is without warranty or support guarantees. Enterprise
customers should use this feature at their own discretion.

:::

[MCP]: https://modelcontextprotocol.io/
78 changes: 78 additions & 0 deletions docs/integrate/mcp/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
# Model Context Protocol (MCP)

```{toctree}
:maxdepth: 0
:hidden:

cratedb-mcp
Community servers <community>
```

## About

:::{rubric} Introduction
:::

[MCP], the Model Context Protocol, is an open protocol that enables seamless
integration between LLM applications and external data sources and tools.

MCP is sometimes described as "OpenAPI for LLMs" or as "USB-C port for AI",
providing a uniform way to connect LLMs to resources they can use.

:::{rubric} Details
:::

The main entities of MCP are [prompts], [resources], and [tools].
MCP clients call MCP servers, either by invoking them as a subprocess and
communicating via Standard Input/Output (stdio), Server-Sent Events (sse),
or HTTP Streams (streamable-http), see [transports].

:::{rubric} Discuss
:::

To get in touch with us to discuss CrateDB and MCP, head over to GitHub at
[Model Context Protocol (MCP) @ CrateDB] or the [Community Forum].

## Usage

You can use MCP with [CrateDB] and [CrateDB Cloud], either by selecting the
**CrateDB MCP Server** suitable for Text-to-SQL and documentation retrieval,
or by using community MCP servers that are compatible with PostgreSQL databases.

::::{grid} 1 2 2 2
:margin: 4 4 0 0

:::{grid-item-card} {material-outlined}`apps;2em` CrateDB MCP Server
:link: cratedb-mcp
:link-type: doc
:link-alt: CrateDB MCP Server

The CrateDB MCP Server, available on PyPI and popular community hubs.
:::

:::{grid-item-card} {material-outlined}`group;2em` Community MCP Servers
:link: community
:link-type: doc
:link-alt: Community MCP Servers

MCP servers mostly compatible with both PostgreSQL and CrateDB.
:::

::::

To use an MCP server, you need a [client that supports][MCP clients] the
protocol. The most notable ones are ChatGPT, Claude, Cline, Cursor,
GitHub Copilot, Mistral AI, OpenAI Agents SDK, VS Code, Windsurf,
and others.


[Community Forum]: https://community.cratedb.com/
[CrateDB]: https://cratedb.com/database
[CrateDB Cloud]: https://cratedb.com/docs/cloud/
[MCP]: https://modelcontextprotocol.io/
[MCP clients]: https://modelcontextprotocol.io/clients
[Model Context Protocol (MCP) @ CrateDB]: https://github.com/crate/crate-clients-tools/discussions/234
[Prompts]: https://modelcontextprotocol.io/docs/concepts/prompts
[Resources]: https://modelcontextprotocol.io/docs/concepts/resources
[Tools]: https://modelcontextprotocol.io/docs/concepts/tools
[Transports]: https://modelcontextprotocol.io/docs/concepts/transports