mcp-entity-resolver
# mcp-entity-resolver
**Make AI agents stop guessing entity names.**
An MCP (Model Context Protocol) server that resolves messy company / customer / vendor names and IDs across CRM, ERP and ITSM systems so your agents act on the *right* record every time.
## The Problem This Solves
AI agents routinely fail in enterprise environments because the same real-world entity appears as:
- "Acme Corp" in Salesforce
- "ACME CORPORATION" in SAP
- "Acme" in ServiceNow
- "acme-123" in a custom system
Without resolution, the agent updates the wrong record, creates duplicates, or refuses to act. This is one of the top reasons enterprise AI pilots die.
## Why This MCP?
- **Computation-heavy, low external cost** – pure fuzzy + rule-based matching (Levenshtein + normalization). Optional future embedding backend.
- **Zero or near-zero API spend** – works offline after entities are registered.
- **Enterprise-ready tools** – resolve, match lists, register confirmed entities, consistency checks.
- **Designed for multi-system agents** – Salesforce + SAP + ServiceNow + NetSuite in one conversation.
## Tools
| Tool | Purpose |
|------|---------|
| `resolve_entity` | Turn a messy name into the best canonical match + confidence |
| `fuzzy_match_records` | Reconcile two lists of records (e.g. SF accounts vs SAP customers) |
| `register_entity` | Teach the resolver a confirmed good entity |
| `check_consistency` | Detect conflicting attributes for the same logical entity |
| `list_registered_entities` | Inspect what the resolver currently knows |
## Quick Start
```bash
# Install
npm install -g mcp-entity-resolver # or clone + npm i && npm run build
# Run (stdio – works with Claude Desktop, Cursor, etc.)
npx mcp-entity-resolver
```
### Claude Desktop / Cursor config example
```json
{
"mcpServers": {
"entity-resolver": {
"command": "npx",
"args": ["-y", "mcp-entity-resolver"]
}
}
}
```
## Example Agent Conversation
> User: "Update the billing address for Acme Corp in SAP"
> Agent: (calls resolve_entity with name="Acme Corp")
> → gets canonical id from SAP with high confidence
> → proceeds safely
## Pricing Suggestion (for marketplace)
- Free: up to 500 resolves / day
- Pro: $49/mo – unlimited + consistency reports
- Enterprise: $299/mo – private deployment + custom rules + audit log
## Roadmap
- [ ] Optional local embedding model (all-MiniLM) for semantic boost
- [ ] Persistent store (SQLite / Postgres)
- [ ] Pre-built connectors that pull live from Salesforce / ServiceNow APIs
- [ ] Human-in-the-loop confirmation queue for low-confidence matches
## Author
Prince Ruhul – Founder, Prevalid
GitHub: [@princeruhulofficial](https://github.com/princeruhulofficial)
Built as part of the Daily AI Project Builder series.
## License
MIT
TDQS
Scored across 5 tools
Each tool has a distinct role: resolving single entities, batch matching, consistency checking, registration, and listing. No two tools overlap in purpose, making selection unambiguous.
All tool names follow a consistent verb_noun pattern in snake_case, such as check_consistency, resolve_entity, fuzzy_match_records, register_entity, list_registered_entities. The naming is predictable and uniform.
Five tools is well-scoped for an entity resolution server, covering lookup, reconciliation, consistency checks, and memory management without unnecessary bulk.
The core lifecycle of entity resolution is covered: resolve, reconcile, check consistency, register, and list. The only minor gap is lack of an explicit delete/unregister tool, but this is not essential for the primary workflow.