Person Search
The Enigma remote MCP server is currently in beta.
The search_person MCP tool finds individual people in the Enigma data graph and returns business context around them, including known names, legal-entity roles, registered entities, registrations, public business registration addresses, and related brands.
Use person search when you want your AI assistant to answer questions such as:
Look up Chris Kempczinski.
Find brands related to Elon Musk and include operating location samples.
Find registrations related to Eric Myers.
Give me business registration addresses for Tom Curtis.
Person search is for business intelligence and due diligence workflows. Address results are public business registration addresses associated with a person's legal-entity roles, not residential or home addresses.
How Person Search Works
Person search starts with a broad name lookup or an exact Person ID lookup:
- Use
namewhen you are starting from a person's name. - Use
person_idwhen you are following up on a person returned by a priorsearch_personresponse.
Name searches can return multiple candidates. Your AI should compare the returned names, associated legal entities, roles, registrations, addresses, and any location context in your prompt to choose the best candidate. Once a candidate is selected, follow-up searches should use that candidate's person_id so the result does not drift to a different person with a similar name.
Focused Searches
The focus parameter controls which related data the tool fetches. Focused searches keep responses smaller and reduce unnecessary work.
| Focus | Use When | Returned Context |
|---|---|---|
overview | You only need basic identity and role context | Names, associated legal entities, and roles |
registrations | You need registration or registered-entity context | Roles, registration IDs, registered entities, business registration addresses, and related people |
addresses | You need public business registration addresses | Roles, registrations, and business registration addresses |
brands | You need brands or businesses related to the person | Brand IDs, brand names, and operating location samples |
all | You explicitly need broad related detail | Brand, registration, address, and related-person context |
For example:
Find top 3 addresses related to Hicham Oudghiri.
In this case, the AI should call search_person with focus="addresses" and set registration_addresses_limit close to 3.
Follow-Up Workflows
The response includes IDs and names that your AI can use for exact follow-up searches:
- Use
Person IDwithsearch_person(person_id=...)to fetch more detail for the same person. - Use associated legal entity or registered entity names with
search_business()for brand and business context. - Use associated business names or addresses with
search_gov_archive()for official records. Do not use Person ID, Registration ID, or Registered Entity ID as the Gov Archive query. - Use associated legal entity or registered entity names with
search_kyb()for entity due diligence. Include address or person fields when available.
Example follow-up prompt:
From these person search results, choose the best matching Person ID for Elon Musk,
then fetch related brands and operating location samples for that exact person.
Calling Person Search Directly
If you want to call the tool without an AI assistant, send a JSON-RPC request to the MCP HTTP endpoint:
curl --request POST 'https://mcp.enigma.com/http-key' \
--header 'x-api-key: <YOUR_API_KEY>' \
--header 'Content-Type: application/json' \
--data '{
"jsonrpc": "2.0",
"id": "1",
"method": "tools/call",
"params": {
"name": "search_person",
"arguments": {
"name": "Elon Musk",
"focus": "brands",
"limit": 5,
"legal_entities_limit": 5,
"brands_limit": 5,
"brand_operating_locations_limit": 3
}
}
}'
For an exact follow-up search, pass the Person ID returned by the first response:
{
"name": "search_person",
"arguments": {
"person_id": "<PERSON_ID_FROM_PRIOR_RESPONSE>",
"focus": "registrations",
"roles_limit": 20,
"registrations_limit": 3
}
}
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
name | string | — | Person's full name. Optional when person_id is provided. |
person_id | string | — | Exact Person ID from a prior search_person response. Use this for exact follow-ups. |
limit | integer | 5 | Maximum number of people to return for name searches. Ignored when person_id is provided. |
street1 | string | — | Optional street address line 1. For address-focused searches, also filters returned business registration addresses. |
street2 | string | — | Optional street address line 2. For address-focused searches, also filters returned business registration addresses. |
city | string | — | Optional city. For address-focused searches, also filters returned business registration addresses. |
state | string | — | Optional state abbreviation or name. For address-focused searches, also filters returned business registration addresses. |
postal_code | string | — | Optional postal or ZIP code. For address-focused searches, also filters returned business registration addresses. |
phone_number | string | — | Optional phone number. |
focus | string | registrations | Related data to fetch: overview, registrations, addresses, brands, or all. |
Connection Limits
Use connection limit parameters to control how much related data is returned. The most common ones are:
| Parameter | Default | Use When |
|---|---|---|
person_names_limit | 5 | You need more aliases or observed names. |
legal_entities_limit | 1 | You need more legal entities associated with the person. |
roles_limit | 50 | You need more roles per legal entity. |
registrations_limit | 1 | You need more registrations per role. |
registration_addresses_limit | 5 | You need more public business registration addresses. |
brands_limit | 5 | You need more brands associated through legal entities. |
brand_operating_locations_limit | 3 | You need more operating location samples per brand. |
How to Read the Response
The response is formatted for an AI assistant to interpret, but direct callers can read it as plain text. Look for:
Person ID— the exact ID to use for follow-up person searches.Associated Roles— job titles or role descriptions connected to legal entities.Registration— registration IDs and registered entity names from business filings.Address— public business registration addresses, when available.Associated Brands— related brands and operating location samples, whenfocus="brands"orfocus="all".NEXT STEPS— guidance for exact follow-up searches and related Enigma tools.
Rate Limits
Person search uses the same MCP tool-call rate limit as search_business:
| Plan | Daily Limit | Monthly Limit |
|---|---|---|
| Pro | 500 calls | 8,000 calls |
| Max | 500 calls | 8,000 calls |
| Enterprise | Configurable | Configurable |
For full details across all Enigma tools, see Rate Limits.
Next Steps
- Explore all MCP tools — see what else your AI can do with Enigma data
- Search government records — combine person search with official records research
- Build custom AI agents — connect Enigma MCP to automated workflows
- Learn about Enigma's person data model — understand how people connect to legal entities and roles