Fluree MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Fluree MCP Serverquery all users in the user collection"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Fluree MCP Server
A modern Node.js gateway that exposes FlureeDB functionality through the Model Context Protocol (MCP). It combines a rich set of MCP tools, structured prompts, and session-aware routing so any LLM-powered client (IDE, chat, or custom app) can query, mutate, and manage a Fluree ledger safely and interactively.
β¨ Key Features
Category | Highlights |
MCP Tools | 15+ tools: query, transact, block/block-range, history, network status, key generation, schema management (create / update / validate / export / import), database diagnostics, echo |
Structured Prompts | Every tool ships with a matching prompt template; clients discover via |
Session Management | First |
Validation & Safety | All tool inputs validated with Zod; errors surfaced as JSON-RPC |
Hot-Reload Friendly | Tools & prompts registered dynamically; add new modules under |
Extensible | Written in ES Modules, small surface areaβdrop in new handlers, middlewares, or MCP capabilities |
Related MCP server: kb-gateway
ποΈ Project Structure
src/
ββ config/ # Constant defaults & env helpers
ββ controllers/ # MCP server controller (session init, tool/prompt registration)
ββ routes/ # Express routes (`/api/v1/mcp`)
ββ tools/ # Individual MCP tools (each default export = { name, config, handler })
ββ prompts/ # Prompt templates mirrored one-to-one with tools
ββ index.js # Express bootstrap
.env.example # Sample environment variables
README.md # β you are hereπ Quick Start
Clone & Install
git clone https://github.com/UDAIBHAT/Fluree_MCP_Server.git cd fluree-mcp-server npm install cp .env.example .env # adjust DB connection defaults if desiredRun
npm start # serves http://localhost:3000Initialize a Session
POST http://localhost:3000/api/v1/mcp Headers: { "Content-Type":"application/json" } Body: { "jsonrpc":"2.0", "id":1, "method":"initialize", "params":{ "dbUrl":"Your_DBurl", "network":"Your_Network", "ledger":"Your_Ledger" } }The response includes
mcp-session-idβadd it to all subsequent requests.Discover Tools & Prompts
{ "jsonrpc":"2.0", "id":2, "method":"prompts/list", "params":{} }
π₯οΈ IDE & Non-IDE Client Setup
IDE clients
Cursor, Windsurf,Google Gemini . RooCode can add the server definition to their settings. Two examples are shown below β one for Cursor and one for Windsurf:
CURSOR IDE
Just insert this Patch of Json-code under the MCP-Section in the Cursor settings and you are good to go.....
{
"mcpServers": {
"Fluree_MCP_Server": {
"url": "http://localhost:3000/api/v1/mcp",
"headers": {
"dburl": "Your_DBurl",
"network": "Your_Network",
"ledger": "Your_Ledger"
}
}
}
}WINDSURF IDE
Just insert this Patch of Json-code under the MCP-Section in the Windsurf Cascade settings and you are good to go.....
{
"mcpServers": {
"Fluree_MCP_Server": {
"serverUrl": "http://localhost:3000/api/v1/mcp",
"headers": {
"dbUrl": "Your_DBurl",
"network": "Your_Network",
"ledger": "Your_Ledger"
}
}
}
}GOOGLE GEMINI
Use the following JSON patch in your Gemini .settings
[ Currently Gemini doesnt support Streamable HTTP transport]
{
"mcpServers": {
"Fluree_MCP_Server": {
"httpUrl": "http://localhost:3000/api/v1/mcp?dburl=<Your_DBurl>&network=<Your_Network>&ledger=<Your_Ledger>",
"timeout": 30000,
"trust": true
}
}
}Non-IDE clients
Can simply POST to /api/v1/mcp (or /mcp) with a JSON body containing dbUrl, network, and ledger as shown in the Quick-Start initialization request.
π§ Tools Overview
Name | Purpose | Input Parameters |
| Select data via FlureeQL |
|
| Create random collections |
|
| Create collection + predicates |
|
| Update collection/predicates |
|
β¦ | See |
Each tool handler returns { content:[ {type:"text"|"json", text:string|object} ] }, ready for LLM streaming.
π¬ Prompt Workflow
List β
method:"prompts/list"Get β
method:"prompts/get", pass promptname+argumentsobject(Optional) Suggest β
method:"completion/suggest"for auto-complete while filling arguments
Prompts use Mustache-style placeholders ({{argument}}) inside user messages to instruct the assistant to call the correct tool.
βοΈ Environment Variables
Variable | Default | Description |
|
| Server port |
|
| Base Fluree URL |
|
| Default network |
|
| Default ledger |
π API Collection
A ready-to-import Postman collection lives at docs/postman/Fluree_MCP.postman_collection.json (or generate it from the sample snippet in this README).
You can also make a new collection with specified MCP endpoint ,postman supports the mcp endpoints so just inseret the server url then it will give you the whole list of tools.
Just Import the collection and call the
Initialize_reqthis will make Initialization_Connection to the MCP_Server and you can also change theparamslikedbUrl,network,ledgerThe mcp-session-id is dynamically stored in every request through Postman Post-Req Scripts
π£οΈ Roadmap / Nice-to-Haves
JWT authentication & role-based prompt permissions
Rate limiting & CORS controls
WebSocket support for real-time block watch
Production observability: Prometheus exporter & Grafana dashboard
Docker Compose bundle (Fluree + MCP + Grafana)
π License
MIT Β© UDAI BHAT
This server cannot be deployed
Maintenance
Related MCP Connectors
An MCP server that provides an API to LLMs to manage their JumpCloud resources.
MCP server for Boson Protocol β on-chain agentic commerce for physical & digital goods.
Zero-setup MCP gateway securely connecting AI to your tools with authentication and workflows
Create, browse, remix, collaborate on, and run durable AI workflow nodes from MCP hosts.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceMCP server for Cardano blockchain data β exposes on-chain queries, address lookups, transaction history, token metadata, stake pool info, and network parameters to LLM agents.51 npm4MIT

kb-gatewayofficial
FlicenseNot gradedqualityBmaintenanceHTTP MCP gateway for a learning corpus that enables remote agents to perform semantic search, graph queries, and routing via Pinecone and Neo4j without direct database credentials.-- AlicenseCqualityDmaintenanceMCP server enabling LLMs to interact with a Cardano node by wrapping cardano-cli/torsten-cli, supporting queries, transactions, staking, and governance operations.64MIT
- AlicenseNot gradedqualityCmaintenanceA Node.js server that enables LLMs to inspect GraphQL schemas and retrieve information about queries, mutations, and types via MCP.17 npm1MIT