About streamparse
streamparse is an MCP server for recovering and inspecting JSON in partial, truncated, or cluttered text. It helps AI assistants handle incomplete tool-call data and structured output, alongside strict JSON validation.
Key features
- 01Recover values from truncated JSON
- 02Extract JSON embedded in text
- 03Validate JSON with byte-position errors
Use cases
- 01Inspect a half-written tool call
- 02Parse JSON surrounded by prose or code fences
- 03Check structured output against strict JSON syntax
MCP support
Exposes `parse_partial_json`, `extract_json_from_text`, and `validate_json` tools to MCP clients for JSON recovery, extraction, and validation.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
3Saved tool list · updated 3w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| text | string | Yes | The JSON text to parse. May be truncated. |
| lenient | boolean | No | When true (default), tolerates trailing commas, single quotes, unquoted keys, ```json fences, comments, and prose padding. |
Details
From the project READMEstreamparse-mcp
An MCP server that gives AI assistants the ability to parse partial / messy / truncated JSON.
Built on top of @mukundakatta/streamparse.
Works with Claude Desktop, Cursor, Cline, Windsurf, Zed, and any other MCP client.
Tools exposed
parse_partial_json
Recover a JSON value from a possibly-truncated string. Always returns a valid value with synthetic closure of any open strings, arrays, or objects.
{
"text": "{\"type\":\"tool_use\",\"name\":\"edit_file\",\"input\":{\"path\":\"a/b.ts\",\"cont"
}
→
{
"value": {
"type": "tool_use",
"name": "edit_file",
"input": { "path": "a/b.ts", "cont": null }
},
"complete": false,
"path": ["input", "cont"],
"bytes_consumed": 67,
"confidence": 0.65
}
extract_json_from_text
Strip prose, ```json fences, and comments around a JSON value embedded in
LLM output. Returns the first parseable value.
Sure, here you go:
```json
{ "answer": 42 }
Let me know!
→ `{ "answer": 42 }`
### `validate_json`
Strict-mode RFC 8259 validator. Returns `ok=true` and the parsed value on
success, or `ok=false` with a precise byte position and error message on
failure.
## Install
### Claude Desktop
Add to `claude_desktop_config.json`:
```json
{
"mcpServers": {
"streamparse": {
"command": "npx",
"args": ["-y", "@mukundakatta/streamparse-mcp"]
}
}
}
Cursor / Cline / Windsurf / Zed
Same shape, in the appropriate mcp.json for your client. Most clients
auto-discover via npx -y @mukundakatta/streamparse-mcp.
Local install
npm install -g @mukundakatta/streamparse-mcp
mcp-streamparse # listens on stdio
Why this matters
When an LLM is mid-tool-call and you need the assistant to reason about the
half-formed JSON it just wrote, no other tool gives a usable answer. Standard
JSON.parse throws. Regex extraction misses nested structure. This MCP server
gives Claude (or whichever model is driving) a real handle on partial JSON,
right where it lives.
License
MIT.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.