@monkdb/monkdb-mcp
Version:
MCP Server for MonkDB in TypeScript stack
112 lines (76 loc) โข 3.31 kB
Markdown
# Official @monkdb/monkdb-mcp
> Model Context Protocol (MCP) Server for **MonkDB** โ enabling LLMs to interact with MonkDB securely and efficiently using standardized tools like `run_select_query`, `describe_table`, `health_check`, and more.
> [!CAUTION]
> It is important to treat your MCP database user as you would any external client connecting to your database, granting only the minimum necessary privileges required for its operation. The use of default or administrative users should be strictly avoided at all times.






---
## โจ What is This?
This is an **MCP server implementation in TypeScript** for [MonkDB](https://monkdb.com), enabling:
- LLM frameworks like **Claude**, **LangChain**, **CrewAI**, and others to interact with MonkDB.
- Secure, controlled SQL access to MonkDB clusters.
- Extensible plug-and-play architecture to add new tools and utilities.
---
## ๐ Features
- โ
Supports `SELECT` queries with parameterized inputs
- ๐ Lists and describes MonkDB tables
- ๐ฉบ Provides health and version check utilities
- ๐ Uses environment-based credentials for safety
- ๐ฆ Exports a clean API with `startMonkDBMCPServer()` entry point
- ๐งช Production-ready with Jest-style unit tests
---
## ๐ฆ Installation
```bash
npm install @monkdb/monkdb-mcp
```
## ๐ ๏ธ Usage
As a CLI (via stdio transport)
```ts
// server.mts
import { startMonkDBMCPServer } from '@monkdb/monkdb-mcp';
await startMonkDBMCPServer();
```
Run the server with:
```bash
node build/server.mjs
```
Or use in your MCP host like Claude Desktop, LangChain, etc.
## ๐ง Configuration
Create a `.env` file or use environment variables:
```text
MONKDB_HOST=127.0.0.1
MONKDB_API_PORT=4200
MONKDB_USER=your_user
MONKDB_PASSWORD=your_password
MONKDB_SCHEMA=monkdb # Optional (defaults to monkdb)
```
## ๐งฐ Supported Tools
| Tool Name | Description |
|----------------------|-----------------------------------------------------|
| `list_tables` | Lists tables under `MONKDB_SCHEMA` |
| `run_select_query` | Executes `SELECT` queries (**others are blocked**) |
| `health_check` | Runs `SELECT 1` to verify DB connectivity |
| `get_server_version` | Returns server version using `SELECT version()` |
| `describe_table` | Lists columns and types of a table |
## ๐งช Running Tests
This package includes unit tests using vitest. To run:
```bash
npm install
npm run build
npm vitest
```
## ๐งฉ Integrations
Can be used with:
- โ
Claude Desktop (via stdio)
- โ
LangChain or equivalents (as a tool or plugin)
- โ
CrewAI or equivalents (via custom agent tools)
- โ
CLI scripts or microservices needing DB interface
## ๐ License
This project is licensed under Apache-2.0.
## Contact Us
You may reach out to us at [support@monkdb.com](mailto:support@monkdb.com)
---