- Home
- MCP servers
- Senzing
Senzing
- python
0
GitHub Stars
python
Language
7 months ago
First Indexed
3 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
You run the Senzing MCP Server to expose Senzing SDK entity resolution capabilities to MCP clients. This server provides seven read‑only tools for searching, retrieving, and analyzing entities and their relationships, with explanations that reveal how and why entities are resolved. It supports both local (stdio) execution and remote HTTP/SSE access for flexible integration with AI assistants and other MCP clients.
How to use
You can connect to the MCP server using either a local stdio configuration or an HTTP/SSE endpoint. In stdio mode, your client starts the server process on your machine and communicates directly through standard input and output. In HTTP/SSE mode, the server runs as a long‑lived process and your client connects over HTTP to receive Server-Sent Events streams.
Once connected, you can use the seven read‑only tools to explore entities and their relationships, as well as to understand how resolitions were made. You can search for entities by attributes, retrieve full entity details, look up records by source IDs, discover relationship paths, expand networks to a number of degrees, and request HOW and WHY explanations for relationships and merges.
Typical workflows include: searching for entities by name or phone, retrieving details for a specific entity, expanding a network to view related entities, and requesting explanations of how a particular resolution occurred. The HTTP/SSE transport is ideal for deployments that require persistence across AI sessions and remote access for multiple clients.
Note that the server runs with environment configurations on the host machine. For Claude or other assistants, you wire up the MCP server by placing the appropriate configuration in your assistant’s MCP settings, while the server itself uses the environment variables you provide on startup.
How to install
Prerequisites you need before starting: Python 3.10 or higher, a Senzing SDK installation (version 4) with a configured and accessible database.
Step-by-step installation and startup flow you can follow on your server:
# 1) Clone the MCP server repository
git clone https://github.com/jbutcher21/senzing-mcp-server.git
cd senzing-mcp-server
# 2) Install Python dependencies
pip install -r requirements.txt
# 3) Make the launch script executable
chmod +x launch_senzing_mcp.sh
Configuration and startup notes
To run in stdio mode, you can start the server with the bundled launch script or directly via the Python module. The following options are supported by the server for stdio startup.
# Start via the launch script (stdio)
./launch_senzing_mcp.sh
# Start directly from source (stdio)
cd src
python -m senzing_mcp.server
# Start if installed via pip (stdio)
senzing-mcp
HTTP/SSE transport details
For a persistent, remote‑friendly setup, run the server in HTTP/SSE mode and connect your MCP client to the provided URL.
# Start HTTP/SSE server on the default port 8000
python -m senzing_mcp.server --http
# Or specify a custom port
python -m senzing_mcp.server --http --port 3000
# Listen on all interfaces for remote access
python -m senzing_mcp.server --http --host 0.0.0.0 --port 8000
Example client connection (Claude and others)
Configure your MCP client to connect to the server using the URL printed when the HTTP/SSE server starts. The URL typically looks like http://<host>:<port>/sse. You configure the client to connect to that URL so it can issue MCP tool calls.
Available tools
search_entities
Search entities by attributes such as name, address, phone, or email to find matching entity records.
get_entity
Retrieve full details for a specific entity by its ID.
get_source_record
Look up an entity by a source record ID from a given data source.
find_path
Discover a path or relationship chain between two entities.
expand_network
Expand the network of related entities to a specified number of degrees (up to 3).
explain_why_related
Explain why two entities are related, showing match drivers and conflicts.
explain_how_resolved
Explain how entities were resolved, including merge steps and supporting records.