JSON Contracts vs PDFGate MCP Server
A side-by-side look at the JSON Contracts and PDFGate MCP Server MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose JSON Contracts for legal work as a local process; choose PDFGate MCP Server for legal as a local process. You can also run both side by side in one mcpServers block.
Which MCP server should you choose?
Choose JSON Contracts when
- You need dedicated capabilities in the Legal domain.
- You prefer a local stdio subprocess transport.
- You have the keys it needs:
JSON_CONTRACTS_DIR. - You want tools like
list_contracts, read_contract, get_json_contract.
Choose PDFGate MCP Server when
- You need dedicated capabilities in the Legal domain.
- You prefer a local stdio subprocess transport.
- Its auth model fits you: API key required.
- You have the keys it needs:
PDFGATE_API_KEY. - You want tools like
generate_pdf, upload_file, get_document.
Feature & specification comparison
Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Legal | Legal |
| Quality signal | 57/100 · Good | 61/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | Not declared | API key required |
| Pricing | Not declared | BYOK (pay the provider) |
| Required env vars | JSON_CONTRACTS_DIR | PDFGATE_API_KEY |
| Verified owner | Community listing | Community listing |
| GitHub stars | 1 | 0 |
| Directory activity | 3 views 0 installs 0 upvotes | 5 views 0 installs 0 upvotes |
| Tools | 8 | 24 |
| Full listing | View JSON Contracts | View PDFGate MCP Server |
Tools & capabilities
JSON Contracts tools 8
list_contractsList currently loaded JSON contracts.read_contractRead a loaded JSON contract.get_json_contractReturn schema, rules, examples, instructions, and input so the agent/model can produce JSON.get_edit_contractReturn schema, rules, current JSON, edit instructions, and input so the agent/model can edit existing JSON.validate_jsonValidate agent-produced JSON against a contract schema.get_repair_contractReturn schema, rules, previous invalid JSON, validation errors, and repair instructions.statusReturn json-contracts MCP server status and loaded contract metadata.reload_contractsRescan the JSON contracts directory and reload valid contracts.
PDFGate MCP Server tools 24
generate_pdfGenerate a PDF from a URL or raw HTML. Provide either 'url' or 'html', not both.upload_fileUpload a PDF to PDFGate so it can be referenced by other operations. Provide either 'filePath' (local path) or 'url'.get_documentRetrieve metadata for a stored PDFGate document by its ID.delete_documentDelete a PDFGate document.flatten_pdfFlatten an interactive PDF into a static, non-editable PDF. Creates a new document; does not overwrite the original.extract_form_dataExtract form field values from a fillable PDF. Returns a JSON object mapping field names to their values.add_form_fieldsAdd interactive form fields to a stored PDF — from placeholder tags (refined via fieldOverrides) and/or explicitly positioned fields.compress_pdfCompress/optimise a PDF to reduce file size without changing visual content.protect_pdfEncrypt a PDF with a password and optional permission restrictions. Produces a new document; the original is unchanged.watermark_pdfApply a text or image watermark to a PDF. For type='text' provide 'text'; for type='image' provide 'watermarkImagePath'.download_fileDownload the raw PDF bytes of a stored document, returned as an embedded resource. For a shareable link instead, use get_document.create_envelopeCreate a signing envelope from one or more existing PDFGate documents. Each recipient is given either as email and name or as the recipientId of a stored recipient. Recipients marked embedded sign inside your application via create_embed_link and receive no emails. Use signingOrder to make recipients sign in sequence. Returns an envelope in 'created' status; call send_envelope to dispatch signing emails.- +12 more on the listing page
Ready-to-paste client configs
Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
JSON Contracts
{
"mcpServers": {
"json-contracts": {
"command": "npx",
"args": [
"-y",
"json-contracts@latest"
],
"env": {
"JSON_CONTRACTS_DIR": "YOUR_JSON_CONTRACTS_DIR_HERE"
}
}
}
}
PDFGate MCP Server
{
"mcpServers": {
"mcp-server-37": {
"command": "npx",
"args": [
"-y",
"@pdfgate/mcp-server"
],
"env": {
"PDFGATE_API_KEY": "YOUR_PDFGATE_API_KEY_HERE"
}
}
}
}
Frequently asked questions
JSON Contracts is categorized under Legal and uses a local stdio subprocess. PDFGate MCP Server belongs to Legal and uses a local stdio subprocess. Pick JSON Contracts for legal work and PDFGate MCP Server for legal.
Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.
JSON Contracts has no declared pricing — check the project's own site. PDFGate MCP Server is bring-your-own-key: usage is billed by the API provider you supply a key for. Auth: api key required. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.
Yes. MCP clients support multiple servers: add json-contracts and mcp-server-37 as separate keys in the same mcpServers object, and your assistant will call tools from either one.
On AllMCPs, JSON Contracts has a quality signal of 57/100 (Good) with 3 views, 0 installs and 1 GitHub stars. PDFGate MCP Server has 61/100 (Good) with 5 views, 0 installs and 0 GitHub stars.