MCP Now
JSON

JSON

by GongRzhe
GitHub

JSON handling and processing server with advanced query capabilities using JSONPath syntax and support for array, string, numeric, and date operations.

operation
json
data
jsonpath
price

JSON MCP Server (@gongrzhe/[email protected])

A JSON Model Context Protocol (MCP) server implementation for querying and manipulating JSON data. This server enables LLMs to interact with JSON data through a set of standardized tools.

JSON Server MCP server

Installation & Usage

1# Using npx with specific version (recommended) 2npx @gongrzhe/[email protected] 3 4# Install specific version globally 5npm install -g @gongrzhe/[email protected] 6 7# Run after global installation 8server-json-mcp

Components

Tools

  • query

    • Query JSON data using JSONPath syntax with extended operations
    • Input:
      • url (string): URL of the JSON data source
      • jsonPath (string): JSONPath expression with optional operations
  • filter

    • Filter JSON data using conditions
    • Input:
      • url (string): URL of the JSON data source
      • jsonPath (string): Base JSONPath expression
      • condition (string): Filter condition

Supported Operations

Array Operations

  • Slicing: $[0:5], $[-3:], $[1:4]
  • Sorting: $.sort(price), $.sort(-price)
  • Distinct: $.distinct()
  • Transformations:
    • Map: $.map(fieldName)
    • Flatten: $.flatten()
    • Union: $.union([1,2,3])
    • Intersection: $.intersection([1,2,3])

String Operations

  • Case: $.toLowerCase(), $.toUpperCase()
  • Tests: $.startsWith('test'), $.endsWith('test')
  • Search: $.contains('test'), $.matches('pattern')

Numeric Operations

  • Math: $.math(+10), $.pow2()
  • Rounding: $.round(), $.floor(), $.ceil()
  • Functions: $.abs(), $.sqrt()

Date Operations

  • Format: $.format('YYYY-MM-DD')
  • Check: $.isToday()
  • Modify: $.add(1, 'days')

Aggregation Operations

  • Group: $.groupBy(category)
  • Stats: $.sum(price), $.avg(price), $.min(price), $.max(price)

Configuration

Usage with Claude Desktop

To use this server with the Claude Desktop app, add the following configuration to your claude_desktop_config.json:

1{ 2 "json": { 3 "command": "npx", 4 "args": [ 5 "@gongrzhe/[email protected]" 6 ] 7 } 8}

Alternatively, you can use the node command directly if you have the package installed:

1{ 2 "json": { 3 "command": "node", 4 "args": [ 5 "path/to/build/index.js" 6 ] 7 } 8}

Development

Building from Source

  1. Clone the repository
  2. Install dependencies:
    1npm install
  3. Build the project:
    1npm run build

Notes

  1. All JSONPath expressions start with $ representing the root object
  2. Array indices are zero-based
  3. String values in operations should be wrapped in quotes
  4. Date operations support 'days', 'months', and 'years' units
  5. Numeric operations support basic arithmetic operators (+, -, *, /)

License

MIT