mcpField
S
streamparse

streamparse

Local
github.comDeveloper Tools0Updated 20w ago

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

  1. 01Recover values from truncated JSON
  2. 02Extract JSON embedded in text
  3. 03Validate JSON with byte-position errors

Use cases

  1. 01Inspect a half-written tool call
  2. 02Parse JSON surrounded by prose or code fences
  3. 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.

mcp.json · Universal config
{
"mcpServers": {
"mukundakatta-streamparse": {
"command": "npx",
"args": [
"-y",
"@mukundakatta/streamparse-mcp"
]
}
}
}
Run commandnpx -y @mukundakatta/streamparse-mcp

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@mukundakatta/streamparse-mcp1.0.1

Tools

3

Saved tool list · updated 3w ago

ParameterTypeRequiredDescription
textstringYesThe JSON text to parse. May be truncated.
lenientbooleanNoWhen true (default), tolerates trailing commas, single quotes, unquoted keys, ```json fences, comments, and prose padding.

Details

From the project README

streamparse-mcp

npm tests 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

Markdown supported

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.