json-mcp-lite

Turn any JSON file (product catalogue, FAQ, price list) into a read-only MCP server with one command. Exposes list, search and get tools over stdio. Keyword search, no embeddings, no API key, two dependencies. Works with Claude Desktop, Claude Code and Cursor. MIT.

Documentation

json-mcp-lite

Turn a JSON file into an MCP server in one command, so Claude Desktop, Claude Code, Cursor or any stdio MCP client can browse and search your data.

Give it a catalogue, an FAQ, a price list or a docs index, and it creates three read-only tools:

ToolWhat it does
<name>_listList records, with limit / offset paging
<name>_searchKeyword search; every word must match, case-insensitive
<name>_getOne record by its id field

MIT licence. Node.js 20+. Two dependencies: the official @modelcontextprotocol/sdk and zod.

Try it

git clone https://github.com/scoretracker4321/json-mcp-lite
cd json-mcp-lite && npm install
npm start          # serves examples/products.json on stdio
npm test

Use it with Claude Desktop or Cursor

{
  "mcpServers": {
    "products": {
      "command": "node",
      "args": [
        "/abs/path/json-mcp-lite/src/server.js",
        "--file", "/abs/path/products.json",
        "--name", "products",
        "--id", "sku",
        "--search", "title,description"
      ]
    }
  }
}

Claude Code:

claude mcp add products -- node /abs/path/json-mcp-lite/src/server.js --file /abs/path/products.json --name products --id sku

Then ask: "Which teas are under ₹400 and in stock?" or "Show me product MUG-001."

Options

FlagDefaultMeaning
--file(required)The JSON file
--pathrootDot path to the array inside the file, e.g. data.items
--namerecordsTool name prefix: products → products_list, …
--ididField used by <name>_get
--searchall fieldsComma-separated fields that <name>_search looks in

Need more than a JSON file?

json-mcp-lite is the free, local, single-file part of MCP Server Kit ($29, one-time). The Kit adds:

  • Any REST API → MCP tools from its OpenAPI 3 spec: one typed tool per operation, auth injected from env, read-only filter, include/exclude lists
  • Remote hosting over Streamable HTTP (stateless, proxy-friendly), not only stdio
  • API-key auth and per-key rate limits, CORS, /health and /tools endpoints
  • Several sources in one server, set up in one YAML/JSON config file
  • Docker image, an Express router to mount inside your own app, and deploy guides
json-mcp-liteMCP Server Kit
JSON file → list/search/get✅✅
stdio (Claude Desktop, Cursor, Claude Code)✅✅
OpenAPI / REST API → tools✅
Remote HTTP server✅
API keys + rate limits✅
Multiple sources, config file✅
Docker + deploy docs✅
Email support✅

Licence

MIT. Built by Brain Grain (support@braingrain.in).