https://github.com/GongRzhe/JSON-MCP-Server
JSON handling and processing microservice server
https://github.com/GongRzhe/JSON-MCP-Server
Last synced: 14 days ago
JSON representation
JSON handling and processing microservice server
- Host: GitHub
- URL: https://github.com/GongRzhe/JSON-MCP-Server
- Owner: GongRzhe
- License: mit
- Created: 2024-12-24T14:43:55.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-03-11T07:06:29.000Z (about 1 month ago)
- Last Synced: 2025-03-11T08:20:18.027Z (about 1 month ago)
- Language: JavaScript
- Size: 5.99 MB
- Stars: 8
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-mcp-zh - JSON
- awesome-mcp-servers - JSON - JSON handling and processing mcp server (Table of Contents / Other Tools and Integrations)
README
# 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.
## Installation & Usage
```bash
# Using npx with specific version (recommended)
npx @gongrzhe/[email protected]# Install specific version globally
npm install -g @gongrzhe/[email protected]# Run after global installation
server-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`:
```json
{
"json": {
"command": "npx",
"args": [
"@gongrzhe/[email protected]"
]
}
}
```Alternatively, you can use the node command directly if you have the package installed:
```json
{
"json": {
"command": "node",
"args": [
"path/to/build/index.js"
]
}
}
```## Development
### Building from Source
1. Clone the repository
2. Install dependencies:
```bash
npm install
```
3. Build the project:
```bash
npm 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