JSON 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., "@JSON MCP Serverset name to John Doe in data.json"
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.
JSON MCP Server
A powerful MCP (Model Context Protocol) server for editing and managing JSON files with dot-notation path access.
Features
✅ Read JSON values using dot-separated paths
✏️ Set or update JSON values (supports nested structures)
🗑️ Delete JSON key-value pairs
🔄 Auto-create missing JSON files
🌳 Automatically create intermediate nested objects
Related MCP server: Store MCP Server
Installation
# Activate virtual environment
source venv/bin/activate
# Install dependencies
pip install -r requirements.txtRunning the Server
python mcp_json.pyThe server runs on stdio transport by default, which is the standard for MCP clients like Claude Desktop.
Tools
1. json:get - Get Value
Retrieve a value from a JSON file using a dot-separated key path.
Parameters:
path: JSON file path (absolute or relative)key: Dot-separated key path (e.g.,"user.name")
Examples:
json:get(path="data.json", key="name")
json:get(path="config.json", key="database.host")
json:get(path="users.json", key="users.0.name")2. json:set - Set Value
Set or update a value in a JSON file. Supports JSON strings or plain strings. Automatically creates missing intermediate objects.
Parameters:
path: JSON file pathkey: Dot-separated key pathvalue: Value to set (can be JSON string)
Examples:
json:set(path="data.json", key="name", value="John Doe")
json:set(path="config.json", key="port", value="3000")
json:set(path="config.json", key="database", value='{"host":"localhost","port":5432}')
json:set(path="data.json", key="tags", value='["python","mcp","json"]')
json:set(path="config.json", key="api.endpoints.users", value="/api/v1/users")3. json:delete - Delete Key
Delete a key from a JSON file using a dot-separated key path.
Parameters:
path: JSON file pathkey: Dot-separated key path
Examples:
json:delete(path="data.json", key="oldField")
json:delete(path="config.json", key="database.password")
json:delete(path="user.json", key="settings.theme")Usage Examples
Example 1: Create User Configuration
json:set(path="user.json", key="profile.name", value="John Doe")
json:set(path="user.json", key="profile.email", value="john@example.com")
json:set(path="user.json", key="profile.age", value="30")
json:set(path="user.json", key="settings.theme", value="dark")
json:set(path="user.json", key="settings.notifications", value="true")
json:get(path="user.json", key="profile")Result user.json:
{
"profile": {
"name": "John Doe",
"email": "john@example.com",
"age": "30"
},
"settings": {
"theme": "dark",
"notifications": "true"
}
}Example 2: Manage API Configuration
json:set(path="api.json", key="api.baseUrl", value="https://api.example.com")
json:set(path="api.json", key="api.version", value="v2")
json:set(path="api.json", key="api.timeout", value="5000")
json:set(path="api.json", key="endpoints", value='{"users":"/users","posts":"/posts"}')
json:get(path="api.json", key="api")
json:delete(path="api.json", key="endpoints.posts")Example 3: Working with Arrays
json:set(path="tasks.json", key="tasks", value='[{"id":1,"title":"Learn MCP","done":false}]')
json:get(path="tasks.json", key="tasks.0.title")MCP Client Configuration
Add this server to your MCP client (e.g., Claude Desktop):
{
"mcpServers": {
"json-editor": {
"command": "python3",
"args": ["/absolute/path/to/mcp_json.py"],
"enabled": true
}
}
}Or using the virtual environment Python:
{
"mcpServers": {
"json-editor": {
"command": "/absolute/path/to/venv/bin/python",
"args": ["/absolute/path/to/mcp_json.py"],
"enabled": true
}
}
}How It Works
Dot-notation paths: Use dots (
.) to separate nested keys:"user.profile.name"Auto-creation: Missing files are created as empty objects
{}Nested objects: Missing intermediate objects are automatically created
Value parsing: The
valueparameter attempts JSON parsing first, falls back to stringPretty formatting: JSON files are saved with 2-space indentation
Error Messages
❌ Key not found: {key}- When trying to get or delete a non-existent keyInvalid JSON format: {path}- When the file exists but contains invalid JSON
Development
The server uses FastMCP, which provides:
Automatic parameter validation
Built-in error handling
Support for multiple transports (stdio, SSE, HTTP)
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Compare two JSON files deeply, regardless of order. Get a detailed difference report highlighting…
Zero-key temporary JSON database for agents: one tool call, no signup, no OAuth, no API keys.
Read and write your Fresh Jots notes from Claude, Cursor, and any MCP client.
Create, validate, edit, export (markdown/svg/png/mermaid), and search JSON Canvas files.
Related MCP Servers
- FlicenseNot gradedqualityNot gradedmaintenanceEnables users to manage data in a simple JSON file database through MCP tools and REST API. Supports creating, reading, updating, and deleting items organized in collections with auto-generated UUIDs.-
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to store and retrieve information persistently using key-value pairs with JSON file-based storage. Supports storing, retrieving, listing, deleting, and searching data across sessions.-
- AlicenseAqualityDmaintenanceEnables efficient JSON file editing with targeted read, write, delete, and deep merge operations using dot notation paths, optimized for managing multilingual projects and large configuration files.47 npm1MIT
- AlicenseNot gradedqualityCmaintenanceEnables natural language interaction with JSON files, providing tools to load, query, aggregate, transform, and export data directly from AI editors.3MIT