MCP Server for MonkDB in TypeScript stack
> 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.
!npm
!license
!typescript
!build
!tests
!status
---
This is an MCP server implementation in TypeScript for MonkDB, 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.
---
- โ
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
---
``bash`
npm install @monkdb/monkdb-mcp
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.
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)
| 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 |
This package includes unit tests using vitest. To run:
`bash``
npm install
npm run build
npm vitest
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
This project is licensed under Apache-2.0.
You may reach out to us at support@monkdb.com
---