Skip to main content
Glama
README.md
# 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

A3.9/5.0

Scored across 5 tools

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count5/5

Five tools is well-scoped for an entity resolution server, covering lookup, reconciliation, consistency checks, and memory management without unnecessary bulk.

Completeness4/5

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.

Maintenance

ActivityMaintained
ResponsivenessSyncing