FlureeLabs

fluree mcp

Model Context Protocol (MCP) server for IDE agent integration.

Usage

fluree mcp <COMMAND>

Subcommands

CommandDescription
serveStart the MCP server

fluree mcp serve

Start an MCP server that exposes developer memory tools to IDE agents.

fluree mcp serve [--transport <TRANSPORT>]

Options

OptionDescription
--transport <TRANSPORT>Transport protocol: stdio (default)

The stdio transport reads JSON-RPC requests from stdin and writes responses to stdout. This is the standard transport for IDE integration — the IDE spawns the process and communicates over pipes.

Available tools

The MCP server exposes 6 tools:

ToolDescription
memory_addStore a new memory (fact, decision, constraint, preference, artifact)
memory_recallSearch and retrieve relevant memories as XML context. Accepts query, limit (default: 3), offset (default: 0), kind, tags, scope. Returns a <pagination> element indicating whether more results are available.
memory_updateUpdate (supersede) an existing memory
memory_forgetDelete a memory
memory_statusShow memory store summary
kg_queryExecute raw SPARQL against the memory graph

The server auto-initializes the memory store on first tool call. No separate fluree memory init is needed.

IDE configuration

The easiest way to configure your IDE is with fluree memory mcp-install:

fluree memory mcp-install --ide cursor

Or manually add to your IDE's MCP config:

{
  "mcpServers": {
    "fluree-memory": {
      "type": "stdio",
      "command": "/path/to/fluree",
      "args": ["mcp", "serve", "--transport", "stdio"],
      "env": {
        "FLUREE_HOME": "${workspaceFolder}/.fluree"
      }
    }
  }
}

Testing with JSON-RPC

To test the server directly, pipe JSON-RPC to stdin:

printf '%s\n' \
  '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"smoke","version":"0.0"}}}' \
  '{"jsonrpc":"2.0","method":"notifications/initialized","params":{}}' \
  '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}' \
  | fluree mcp serve --transport stdio

Tracing

CLI tracing is disabled when running fluree mcp serve to avoid any log output on stderr that could interfere with the JSON-RPC protocol.

See Also