{"_id":"@agentutility/mcp-matchpoint","_rev":"4-a17a7c538935bbaea613ccb22ad1359a","name":"@agentutility/mcp-matchpoint","dist-tags":{"latest":"0.1.6"},"versions":{"0.1.0":{"name":"@agentutility/mcp-matchpoint","version":"0.1.0","keywords":["mcp","model-context-protocol","x402","agentutility","agent-tools","matchpoint"],"license":"MIT","_id":"@agentutility/mcp-matchpoint@0.1.0","maintainers":[{"name":"agentutility","email":"aroozen+agentutility@gmail.com"}],"homepage":"https://mcp.agentutility.ai/matchpoint/","bugs":{"url":"https://github.com/rooz21/x402/issues"},"bin":{"agentutility-mcp-matchpoint":"dist/index.js"},"dist":{"shasum":"e049c4bb0adea18274ba752d950ac31bf08ea4d0","tarball":"https://registry.npmjs.org/@agentutility/mcp-matchpoint/-/mcp-matchpoint-0.1.0.tgz","fileCount":4,"integrity":"sha512-V03oKaHQqcTpfph754gVRNhfs9/kYBP5DV206KDD7hrmUwsM7kajC9ui7EF/alTA4j5t81NrKu+ue6au9M/UmQ==","signatures":[{"sig":"MEUCIB3gGipkzWNOvPi+wTNKTTfGjIik99x6L46ESc4YQVQGAiEA5Fsvs5xnoaC7y1aurvQ3deZTT5VqlCElZvOQLEmB5go=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16287},"main":"dist/index.js","type":"module","engines":{"node":">=18"},"scripts":{"build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"agentutility","email":"aroozen+agentutility@gmail.com"},"repository":{"url":"git+https://github.com/rooz21/x402.git","type":"git","directory":"packages/mcp-matchpoint"},"_npmVersion":"10.8.2","description":"MCP server for the @agentutility matchpoint cluster — pay-per-call x402 tools, no API keys, USDC on Base.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"viem":"^2.21.0","@x402/evm":"^2.12.0","@x402/fetch":"^2.12.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-matchpoint_0.1.0_1782846195425_0.9659869155365297","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@agentutility/mcp-matchpoint","version":"0.1.3","keywords":["mcp","model-context-protocol","x402","agentutility","agent-tools","matchpoint"],"license":"MIT","_id":"@agentutility/mcp-matchpoint@0.1.3","maintainers":[{"name":"agentutility","email":"aroozen+agentutility@gmail.com"}],"homepage":"https://mcp.agentutility.ai/matchpoint/","bugs":{"url":"https://github.com/rooz21/x402/issues"},"bin":{"agentutility-mcp-matchpoint":"dist/index.js"},"dist":{"shasum":"c3125bb12c3d809e2ce1bda630a97ff3839af15f","tarball":"https://registry.npmjs.org/@agentutility/mcp-matchpoint/-/mcp-matchpoint-0.1.3.tgz","fileCount":4,"integrity":"sha512-buLhZVCovCJ7/IypvwIp31drBahwcLboe1W0DCsOpHFhT4bVg7ckMyXf7uDgMmCoshhXKMcQBoiUi1cflJ0QfA==","signatures":[{"sig":"MEUCIH5jBQc2P93/eqq3LBDj57jIUqdj/qHfkOwByprISuQPAiEA8eQByWyfW+J0yKH/X4SphfT7qymsUcA/dT/M+Wf9lII=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17329},"main":"dist/index.js","type":"module","engines":{"node":">=18"},"gitHead":"e60d85b06e6a7aad743386a794e13c1dc0af2054","scripts":{"build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"agentutility","email":"aroozen+agentutility@gmail.com"},"repository":{"url":"git+https://github.com/rooz21/x402.git","type":"git","directory":"packages/mcp-matchpoint"},"_npmVersion":"10.8.2","description":"MCP server for the @agentutility matchpoint cluster — pay-per-call x402 tools, no API keys, USDC on Base.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"viem":"^2.21.0","@x402/evm":"^2.12.0","@x402/fetch":"^2.12.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-matchpoint_0.1.3_1783053684249_0.717648896286752","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@agentutility/mcp-matchpoint","version":"0.1.4","keywords":["mcp","model-context-protocol","x402","agentutility","agent-tools","matchpoint"],"license":"MIT","_id":"@agentutility/mcp-matchpoint@0.1.4","maintainers":[{"name":"agentutility","email":"aroozen+agentutility@gmail.com"}],"homepage":"https://mcp.agentutility.ai/matchpoint/","bugs":{"url":"https://github.com/rooz21/x402/issues"},"bin":{"agentutility-mcp-matchpoint":"dist/index.js"},"dist":{"shasum":"acf297fdb55a01b77c2cf7f3f44208d5082b6eb6","tarball":"https://registry.npmjs.org/@agentutility/mcp-matchpoint/-/mcp-matchpoint-0.1.4.tgz","fileCount":4,"integrity":"sha512-W6SfHoEl3WlmeByUak8Nx6egFNUzmnvJngWrte+X9ws8cKTJLp/wOe3B2Q7YUtGumlj0ERFFX0ob6PsNW5EyHA==","signatures":[{"sig":"MEUCIFZCEBzhAG1W+Km+jgZptOSnBIXELXMVaIbiIu/2OP7/AiEA09caRp0p+bSo4HWawsaDk3ennzUXF8swdgZtk0FRxlk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17376},"main":"dist/index.js","type":"module","engines":{"node":">=18"},"gitHead":"bb16253ab9d06c11e824e1f2d1d907a5c815ef11","mcpName":"ai.agentutility/mcp-matchpoint","scripts":{"build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"agentutility","email":"aroozen+agentutility@gmail.com"},"repository":{"url":"git+https://github.com/rooz21/x402.git","type":"git","directory":"packages/mcp-matchpoint"},"_npmVersion":"10.8.2","description":"MCP server for the @agentutility matchpoint cluster — pay-per-call x402 tools, no API keys, USDC on Base.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"viem":"^2.21.0","@x402/evm":"^2.12.0","@x402/fetch":"^2.12.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-matchpoint_0.1.4_1783646554454_0.48955495911643276","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@agentutility/mcp-matchpoint","mcpName":"ai.agentutility/mcp-matchpoint","version":"0.1.6","description":"MCP server for the @agentutility matchpoint cluster — pay-per-call x402 tools, no API keys, USDC on Base.","license":"MIT","type":"module","main":"dist/index.js","bin":{"agentutility-mcp-matchpoint":"dist/index.js"},"repository":{"type":"git","url":"git+https://github.com/rooz21/x402.git","directory":"packages/mcp-matchpoint"},"homepage":"https://mcp.agentutility.ai/matchpoint/","scripts":{"build":"tsc","prepublishOnly":"npm run build"},"keywords":["mcp","model-context-protocol","x402","agentutility","agent-tools","matchpoint"],"dependencies":{"@modelcontextprotocol/sdk":"^1.0.4","@x402/fetch":"^2.12.0","@x402/evm":"^2.12.0","viem":"^2.21.0"},"devDependencies":{"@types/node":"^22.0.0","typescript":"^5.5.0"},"engines":{"node":">=18"},"_id":"@agentutility/mcp-matchpoint@0.1.6","bugs":{"url":"https://github.com/rooz21/x402/issues"},"_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-6wY7ihcLatI61G2YXuzWgoWtVhLZ1D2DhDceXmPp1f2o0hufANwt+wJIRsw05a5pBjy4Hd3acnHJ5Smd6k+OUQ==","shasum":"ff6aa25f0293b75ff6669aaf06ba5cdf266b9d83","tarball":"https://registry.npmjs.org/@agentutility/mcp-matchpoint/-/mcp-matchpoint-0.1.6.tgz","fileCount":4,"unpackedSize":17376,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIBC3FZD/m/h7+Pp7sxzQkZBqGh552WHRoWzdLPHTN4cXAiEA1nDWlkOYqkiEVSYQEWxfmMAyo+NuMEL8k7pq20ie4sg="}]},"_npmUser":{"name":"agentutility","email":"aroozen+agentutility@gmail.com"},"directories":{},"maintainers":[{"name":"agentutility","email":"aroozen+agentutility@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-matchpoint_0.1.6_1784663373161_0.5861190644497509"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-30T19:03:15.228Z","modified":"2026-07-21T19:49:33.527Z","0.1.0":"2026-06-30T19:03:15.561Z","0.1.3":"2026-07-03T04:41:24.397Z","0.1.4":"2026-07-10T01:22:34.600Z","0.1.6":"2026-07-21T19:49:33.360Z"},"bugs":{"url":"https://github.com/rooz21/x402/issues"},"license":"MIT","homepage":"https://mcp.agentutility.ai/matchpoint/","keywords":["mcp","model-context-protocol","x402","agentutility","agent-tools","matchpoint"],"repository":{"type":"git","url":"git+https://github.com/rooz21/x402.git","directory":"packages/mcp-matchpoint"},"description":"MCP server for the @agentutility matchpoint cluster — pay-per-call x402 tools, no API keys, USDC on Base.","maintainers":[{"name":"agentutility","email":"aroozen+agentutility@gmail.com"}],"readme":"# @agentutility/mcp-matchpoint\n\n> Dedup and record linkage, per call.\n\nTurn messy company names, people, addresses, emails, and phones into stable match keys so duplicates collide — plus a similarity score to rank candidate pairs. The dedup/entity-resolution primitives a data-enrichment agent needs.\n\n**Pricing:** pay-per-call in USDC on Base. No subscriptions, no API keys. See per-tool prices below.\n\n## Install — Claude Desktop\n\nEdit `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\\Claude\\claude_desktop_config.json` (Windows):\n\n```json\n{\n  \"mcpServers\": {\n    \"agentutility-matchpoint\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@agentutility/mcp-matchpoint\"],\n      \"env\": { \"X402_PRIVATE_KEY\": \"0xYOUR_PRIVATE_KEY_HEX\" }\n    }\n  }\n}\n```\n\nRestart Claude Desktop. 7 tools appear in the tool palette.\n\n## Install — Cursor\n\nAdd to `.cursor/mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"agentutility-matchpoint\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@agentutility/mcp-matchpoint\"],\n      \"env\": { \"X402_PRIVATE_KEY\": \"0x...\" }\n    }\n  }\n}\n```\n\n## Funding\n\nSend any amount of **USDC on Base mainnet** to the address derived from your `X402_PRIVATE_KEY`. The MCP server uses it to pay for tool calls automatically.\n\nUSDC on Base contract: `0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913`\n\n## Tools (7)\n\n| Tool | Description |\n|---|---|\n| `address-parse` | (0.005 USDC/call) Parses a freeform US street address into components: number, street, unit, city, state, and zip. Deterministic, instant, and best-effort — no geocoding or external lookups. Use it as an address parser, address splitter, or USPS field extraction step. |\n| `match-key-address` | (0.005 USDC/call) Generates a match key for postal addresses with USPS-style standardization so equivalent addresses collide. Expands street types (St to Street), directionals (N to North), and unit designators (Apt/Ste/# to unit), then builds a stable key so '123 Main St Apt 4' and '123 Main Street #4' collide. Deterministic and instant — no geocoding or external lookups. Use it for postal address dedup and address record linkage. |\n| `match-key-company` | (0.005 USDC/call) Generates a deterministic similarity key for company names so different spellings of the same business collide. Strips legal suffixes (Inc, LLC, Corp, Ltd, GmbH), punctuation, and abbreviations, then phonetic-encodes tokens so 'IBM Corp' and 'I.B.M. Corporation, Inc.' produce the same key. Deterministic and instant — no external lookups. Use it for business-name dedup, entity resolution, fuzzy company matching, and record linkage when deduping CRM/lead lists or joining company records across sources. |\n| `match-key-email` | (0.005 USDC/call) Normalizes email addresses into a match key so aliases of the same inbox collide. Collapses Gmail dots and '+tag' subaddressing and lowercases the domain so 'John.Doe+promo@Gmail.com' and 'johndoe@gmail.com' share a key; also reports basic syntax validity and the domain. Deterministic and instant — no SMTP or MX lookups. Use it for email dedup, email normalization, or contact record linkage. |\n| `match-key-name` | (0.005 USDC/call) Generates a match key for person names so variants of the same person collide. Canonicalizes nicknames (Bob to Robert), folds accents, drops titles/suffixes (Mr, Jr, PhD), and is order-insensitive so 'Smith, Robert' and 'Bob Smith' share a key; returns first/last too. Deterministic and instant — no external lookups. Use it for contact dedup, people record linkage, or fuzzy name matching. |\n| `match-key-phone` | (0.005 USDC/call) Normalizes phone numbers into a canonical E.164 match key so formatting variants like '(415) 555-0100' and '+1 415-555-0100' collide. Strips formatting to digits and returns E.164, country code, and validity. Deterministic and instant — no carrier lookups. Use it for phone dedup, phone normalization, contact record linkage, or as an E.164 formatter. |\n| `match-score` | (0.003 USDC/call) Scores how similar two values are on a 0-100 scale for fuzzy matching and dedup confidence. Compares two values of a given type (company, name, address, email, phone, or text), blending match-key equality, Jaro-Winkler, and token overlap, and reports whether they share a match key. The companion to the match-key endpoints: bucket by key, then rank candidates by score. Deterministic and instant — no external lookups. Use it as a fuzzy match score, string similarity, or record-pair scoring API. |\n\n## How it works\n\n1. Agent calls a tool (e.g. `address-parse`).\n2. MCP server POSTs to `https://x402.agentutility.ai/address-parse`.\n3. The endpoint responds **HTTP 402** with payment instructions.\n4. The MCP server signs an EIP-3009 USDC transfer authorization with `X402_PRIVATE_KEY` and retries.\n5. CDP facilitator settles on Base.\n6. The endpoint returns the actual response.\n\nThe agent never sees the payment flow — it just gets the result.\n\n## Links\n\n- Cluster overview: https://agentutility.ai/matchpoint/\n- All MCP packages: https://mcp.agentutility.ai/\n- Source: https://github.com/rooz21/x402/tree/main/packages/mcp-matchpoint\n\n---\n\n**Version:** 0.1.6 · **License:** MIT\n","readmeFilename":"README.md"}