Koskamo

Outris Identity MCP

An MCP server enabling AI agents to perform identity resolution by investigating phone numbers and emails. It finds linked identities, checks registrations on 31+ platforms, detects data breaches, and analyzes commerce activity with global and India coverage.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Outris Identity MCP logo, by OutrisCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-07Published by Outris
You need:Get API Key from Outris Portal
MCP endpoint (Streamable HTTP)
https://mcp-server.outris.com/http
Vendor documentation

What its tools do

26 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

26 of 26 have a description · 0 of 26 declare behavior hints · 26 of 26 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Warning Advertises resources/templates/list but does not implement it
  • Warning Advertises prompts/list but does not implement it
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Investigate phone numbers and emails to find linked identities
  • Check platform registrations on 31+ services
  • Detect if phone/email appears in known data breaches
  • Check ecommerce, travel, and quick-commerce activity

Source and maintenance

Community listingRegistry 2.0.0
Maintenance checked

Protocol and capabilities

Server
outris-mcp-server 2.0.0
MCP protocol negotiated in check
2024-11-05
Tools
26 advertised
Resources
1 advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  },
  "logging": {},
  "prompts": {
    "listChanged": false
  },
  "resources": {
    "listChanged": false
  }
}

Tools

26 advertised

investigate_phone
Advertised by the server during the last successful anonymous check.

Investigate an Indian mobile number and return who is behind it — name(s), addresses, alternate phone numbers, and social/digital footprint. Use depth='basic' for a fast identity bundle (default) or depth='full' for a comprehensive multi-source investigation (slower). Best for: 'who owns this number', caller ID, KYC, skip-tracing. Cost: 3 credits

investigate_phone input schema
{
  "type": "object",
  "required": [
    "phone"
  ],
  "properties": {
    "depth": {
      "enum": [
        "basic",
        "full"
      ],
      "type": "string",
      "description": "basic = fast identity bundle (default); full = comprehensive investigation (slower)."
    },
    "phone": {
      "type": "string",
      "description": "Indian mobile number (10-digit, with or without +91)."
    }
  }
}
assess_fraud_risk
Advertised by the server during the last successful anonymous check.

Assess the fraud risk of an Indian mobile number. Returns a composite risk profile: SIM age / age-on-network, number revocation status, SIM-swap / port signals, and digital & financial exposure. Set detailed=true for the full signal breakdown. Best for: onboarding risk checks, is-this-number-risky. Cost: 3 credits

assess_fraud_risk input schema
{
  "type": "object",
  "required": [
    "phone"
  ],
  "properties": {
    "phone": {
      "type": "string",
      "description": "Indian mobile number (10-digit, with or without +91)."
    },
    "detailed": {
      "type": "boolean",
      "description": "Include the full raw signal breakdown. Default false."
    }
  }
}
find_contacts
Advertised by the server during the last successful anonymous check.

Skip-trace an Indian mobile number for the person's ALTERNATE phone numbers and current, geocoded addresses. Requires the end user's consent: ask the user to open the consent link in portal.outris.com/mcp and pass the consent_token they receive. Best for: debt collection, locating a person. Never fabricate consent. Cost: 3 credits

find_contacts input schema
{
  "type": "object",
  "required": [
    "phone"
  ],
  "properties": {
    "phone": {
      "type": "string",
      "description": "Indian mobile number (10-digit, with or without +91)."
    },
    "consent": {
      "type": "string",
      "description": "Deprecated legacy consent flag ('Y'); accepted only during migration."
    },
    "consent_token": {
      "type": "string",
      "description": "Server-issued consent token from portal.outris.com/mcp (preferred)."
    }
  }
}
due_diligence_person_start
Advertised by the server during the last successful anonymous check.

Start a full due-diligence / background check on a PERSON, anchored on their mobile number (optionally add name, PAN, DOB, email, city). Covers PEP, sanctions, enforcement, cybercrime, breaches, directorships, and adverse media. PREMIUM and ASYNC (~40-70s): it returns a job_id — poll check_job until status is 'complete'. Requires consent: ask the user to open the consent link in portal.outris.com/mcp and pass the consent_token. Cost: 5 credits

due_diligence_person_start input schema
{
  "type": "object",
  "required": [
    "phone"
  ],
  "properties": {
    "dob": {
      "type": "string",
      "description": "Optional date of birth (disambiguates common names)."
    },
    "pan": {
      "type": "string",
      "description": "Optional PAN — strongest key for PEP/enforcement."
    },
    "city": {
      "type": "string",
      "description": "Optional city (adverse-media disambiguation)."
    },
    "name": {
      "type": "string",
      "description": "Optional subject full name."
    },
    "email": {
      "type": "string",
      "description": "Optional subject email."
    },
    "phone": {
      "type": "string",
      "description": "Indian mobile number (10-digit, with or without +91)."
    },
    "consent": {
      "type": "string",
      "description": "Deprecated legacy consent flag ('Y'); migration only."
    },
    "consent_token": {
      "type": "string",
      "description": "Server-issued consent token (preferred)."
    }
  }
}
check_job
Advertised by the server during the last successful anonymous check.

Check the status/result of an async job by job_id (e.g. from due_diligence_person_start). Free to poll — wait ~10s between polls. Cost: 0 credits

check_job input schema
{
  "type": "object",
  "required": [
    "job_id"
  ],
  "properties": {
    "job_id": {
      "type": "string",
      "description": "The job_id returned by an async tool."
    }
  }
}
investigate_email
Advertised by the server during the last successful anonymous check.

Trace the person behind an email address — linked names, phone numbers, addresses, and known data breaches. Best for: reverse email lookup, digital footprint, cross-referencing an identity. Cost: 2 credits

investigate_email input schema
{
  "type": "object",
  "required": [
    "email"
  ],
  "properties": {
    "email": {
      "type": "string",
      "description": "Email address to investigate."
    }
  }
}
resolve_company
Advertised by the server during the last successful anonymous check.

Resolve an Indian company from its NAME and return its CIN (Corporate Identification Number) plus any GSTIN / MSME registrations discovered along the way. Best for: 'is this a real company', KYB entry point, finding a CIN from a company name. Cost: 3 credits

resolve_company input schema
{
  "type": "object",
  "required": [
    "company_name"
  ],
  "properties": {
    "company_name": {
      "type": "string",
      "description": "Company name to resolve."
    }
  }
}
lookup_gst
Advertised by the server during the last successful anonymous check.

Look up GST registration details for a business by its GSTIN (15-character GST number). Returns legal/trade name, status, registration type, and address. Best for: GST verification, vendor onboarding. Cost: 2 credits

lookup_gst input schema
{
  "type": "object",
  "required": [
    "gstin"
  ],
  "properties": {
    "gstin": {
      "type": "string",
      "description": "15-character GSTIN."
    }
  }
}
verify_pan
Advertised by the server during the last successful anonymous check.

Verify an Indian PAN (Permanent Account Number) and return the holder's name, status, and PAN type (individual / company / etc.). Best for: KYC, PAN validity checks. Cost: 2 credits

verify_pan input schema
{
  "type": "object",
  "required": [
    "pan"
  ],
  "properties": {
    "pan": {
      "type": "string",
      "description": "10-character PAN (e.g. ABCDE1234F)."
    }
  }
}
lookup_vehicle
Advertised by the server during the last successful anonymous check.

Look up an Indian vehicle by its RC (registration) number — returns make/model, registration details, and the registered owner. Best for: vehicle verification, RC checks. Cost: 2 credits

lookup_vehicle input schema
{
  "type": "object",
  "required": [
    "rc_number"
  ],
  "properties": {
    "rc_number": {
      "type": "string",
      "description": "Vehicle registration number (e.g. MH12AB1234)."
    }
  }
}
verify_bank_account
Advertised by the server during the last successful anonymous check.

Validate an Indian bank account WITHOUT moving any money (no-debit NPCI validation) and return whether it is valid plus the account holder's name for matching. Best for: payout/beneficiary verification. This does NOT transfer funds. Cost: 2 credits

verify_bank_account input schema
{
  "type": "object",
  "required": [
    "account_number",
    "ifsc"
  ],
  "properties": {
    "ifsc": {
      "type": "string",
      "description": "IFSC code of the account's branch."
    },
    "account_number": {
      "type": "string",
      "description": "Bank account number to validate."
    }
  }
}
smart_lookup
Advertised by the server during the last successful anonymous check.

Answer any other identity / KYC / business question when no specific tool fits. Provide a natural-language `question` plus the `identifiers` you already have (phone, email, PAN, GSTIN, CIN, DIN, UAN, IFSC, vehicle RC, UPI VPA, UDIN, or a company name). It figures out the right lookup — or a short sequence — and returns the answer. Only pass identifiers the user actually gave you; never invent one. For consent-required lookups, ask the user to open the consent link in portal.outris.com/mcp and pass the consent_token they receive. Cost: 3 credits

smart_lookup input schema
{
  "type": "object",
  "required": [
    "question",
    "identifiers"
  ],
  "properties": {
    "consent": {
      "type": "string",
      "description": "Deprecated legacy consent flag ('Y'); accepted only during migration. Prefer consent_token."
    },
    "question": {
      "type": "string",
      "description": "The user's question in plain language."
    },
    "identifiers": {
      "type": "object",
      "description": "Identifiers you have, as {type: value} — e.g. {\"pan\": \"ABCDE1234F\"} or {\"phone\": \"9876543210\"}. Only include values the user provided."
    },
    "consent_token": {
      "type": "string",
      "description": "Server-issued consent token from portal.outris.com/mcp (preferred for consent-required lookups)."
    }
  }
}
run_collections_intelligence
Advertised by the server during the last successful anonymous check.

Comprehensive phone intelligence bundle tailored for debt-collection and skip-trace operations. Amalgamates multiple sources to provide a unified asset, contact, and lifestyle profile.

run_collections_intelligence input schema
{
  "type": "object",
  "required": [
    "phone"
  ],
  "properties": {
    "phone": {
      "type": "string",
      "description": "Indian mobile number (10-digit, with or without +91)."
    }
  }
}
run_law_enforcement_intel
Advertised by the server during the last successful anonymous check.

Law Enforcement Intelligence (LEI) endpoint. Highly-privileged macro-orchestrator combining collections data, prefill identity, and caller ID aggregation for a comprehensive subject profile.

run_law_enforcement_intel input schema
{
  "type": "object",
  "required": [
    "phone",
    "reason"
  ],
  "properties": {
    "phone": {
      "type": "string",
      "description": "Indian mobile number (10-digit, with or without +91)."
    },
    "reason": {
      "type": "string",
      "description": "Justification or case ID for the LEI inquiry"
    }
  }
}
check_caller_id
Advertised by the server during the last successful anonymous check.

Aggregate a phone number's caller-identity across multiple consumer caller-ID apps. Returns saved-as names, associated emails, and social handles. Requires DPDPA consent.

check_caller_id input schema
{
  "type": "object",
  "required": [
    "phone"
  ],
  "properties": {
    "phone": {
      "type": "string",
      "description": "Indian mobile number (10-digit, with or without +91)."
    }
  }
}
search_unified_enforcement
Advertised by the server during the last successful anonymous check.

Query the unified enforcement corpus (58 regulatory sources, 1.3M+ records) by identifier. Searches for legal actions, severe compliance failures, or negative regulatory actions against an entity.

search_unified_enforcement input schema
{
  "type": "object",
  "required": [
    "identifier"
  ],
  "properties": {
    "identifier": {
      "type": "string",
      "description": "Any valid business identifier: CIN, PAN, DIN, GSTIN, IEC, or full Company Name."
    }
  }
}
fetch_company_filings
Advertised by the server during the last successful anonymous check.

Request the official MCA View-Public-Documents (VPD) pack for an unlisted or private Indian company. Delivers official balance sheets (AOC-4), annual returns (MGT-7), P&L, charges, and incorporation filings. Fulfilment is asynchronous and operator-assisted. You can optionally pass a callback_url to be notified via webhook when filings are ready. Cost: 3 credits

fetch_company_filings input schema
{
  "type": "object",
  "required": [
    "cin"
  ],
  "properties": {
    "cin": {
      "type": "string",
      "description": "21-character Corporate Identification Number (CIN), LLPIN, or FCRN."
    },
    "callback_url": {
      "type": "string",
      "description": "Optional HTTPS URL to receive webhook push when documents are ready."
    }
  }
}
lookup_beneficial_ownership
Advertised by the server during the last successful anonymous check.

Ultimate Beneficial Ownership (UBO) screen. Unravels multi-tier holding company trees to identify natural persons holding >=10% economic interest or ultimate managerial control under RBI/PMLA guidelines. Returns ownership paths, percentages, and control tiers. Cost: 5 credits

lookup_beneficial_ownership input schema
{
  "type": "object",
  "required": [
    "identifier"
  ],
  "properties": {
    "identifier": {
      "type": "string",
      "description": "CIN, PAN, or registered Company Name."
    }
  }
}
run_digital_footprint
Advertised by the server during the last successful anonymous check.

Deep digital footprint analysis mapping an entity's online presence, associated web links, breaches, and public risk indicators.

run_digital_footprint input schema
{
  "type": "object",
  "required": [
    "query"
  ],
  "properties": {
    "query": {
      "type": "string",
      "description": "Email, phone, or name to analyze"
    }
  }
}
check_online_platforms
Advertised by the server during the last successful anonymous check.

**What it does:** Checks if a phone number is registered on major global platforms (Amazon, Instagram, Snapchat). **Input:** Phone number (with or without country code). **Returns:** Registration status (true/false) for each specific platform. **Best for:** Digital footprint analysis, verifying if a number is "real" and active on social/shopping apps. Cost: 1 credit

check_online_platforms input schema
{
  "type": "object",
  "required": [
    "phone"
  ],
  "properties": {
    "phone": {
      "type": "string",
      "description": "Phone number (with or without country code)"
    }
  }
}
get_identity_profile
Advertised by the server during the last successful anonymous check.

**What it does:** Comprehensive identity report. Fetches names, emails, addresses, metadata, and risk scores in one go . **Input:** Phone number. **Returns:** Complete JSON profile containing all linked entities. **Best for:** Deep investigations where you need the "full picture" immediately. Understand if similar names, addresses appear, then that gives more confidence Cost: 3 credits

get_identity_profile input schema
{
  "type": "object",
  "required": [
    "phone"
  ],
  "properties": {
    "phone": {
      "type": "string",
      "description": "Phone number"
    }
  }
}
get_name
Advertised by the server during the last successful anonymous check.

**What it does:** identifying the owner name of a phone number. **Input:** Phone number (with or without country code). **Returns:** List of full names linked to this phone with confidence scores. **Best for:** KYC verification, caller ID, finding out "who called me". Cost: 2 credits

get_name input schema
{
  "type": "object",
  "required": [
    "phone"
  ],
  "properties": {
    "phone": {
      "type": "string",
      "description": "Phone number"
    }
  }
}
get_email
Advertised by the server during the last successful anonymous check.

**What it does:** Finds email addresses linked to a phone number. **Input:** Phone number. **Returns:** List of email addresses with confidence scores. **Best for:** Digital footprint analysis, finding contact details, or cross-referencing identities. Cost: 2 credits

get_email input schema
{
  "type": "object",
  "required": [
    "phone"
  ],
  "properties": {
    "phone": {
      "type": "string",
      "description": "Phone number"
    }
  }
}
get_address
Advertised by the server during the last successful anonymous check.

**What it does:** Finds physical addresses associated with a phone number. **Input:** Phone number. **Returns:** List of addresses with metadata (e.g., "shipping", "billing", "home") and dates. **Best for:** Fraud investigation, delivery verification, and location analysis. Cost: 2 credits

get_address input schema
{
  "type": "object",
  "required": [
    "phone"
  ],
  "properties": {
    "phone": {
      "type": "string",
      "description": "Phone number"
    }
  }
}
get_alternate_phones
Advertised by the server during the last successful anonymous check.

Get other phone numbers belonging to the same person. Returns: List of alternate phone numbers linked through shared identities (same name, email, or address). Use when: User wants to find all phones associated with a person. Example queries: - "What other phones does this person have?" - "Find alternate numbers for 9876543210" - "Are there other phones linked to this one?" Cost: 2 credits

get_alternate_phones input schema
{
  "type": "object",
  "required": [
    "phone"
  ],
  "properties": {
    "phone": {
      "type": "string",
      "description": "Phone number"
    }
  }
}
check_digital_commerce_activity
Advertised by the server during the last successful anonymous check.

**What it does:** Checks if a phone number has been used for any digital commerce activity (ecommerce, travel, quick-commerce). **Input:** Phone number (Indian numbers only, add ISD code infront). **Returns:** Boolean flags for overall commerce types, activity timeline, and demographics if available. **Best for:** Assessing if a phone number belongs to a real, active consumer vs. a throwaway number. Cost: 1 credit

check_digital_commerce_activity input schema
{
  "type": "object",
  "required": [
    "phone"
  ],
  "properties": {
    "phone": {
      "type": "string",
      "description": "Phone number (with or without country code)"
    },
    "include_demographics": {
      "type": "boolean",
      "description": "Include age/gender estimation (default: true)"
    }
  }
}

Prompts

Not advertised

No prompt definitions available.

Resources

1 advertised

Outris capabilities catalog

Advertised by the server during the last successful anonymous check.

Every identity/KYC lookup available and the identifier each needs. Read this to discover what smart_lookup can answer.

Outris capabilities catalog URI
outris://capabilities

MIME type: application/json

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
1371 ms
95th percentile latency
1371 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 1371 ms · metadata changed · 26 tool(s), 1 resource(s); warnings: Advertises resources/templates/list but does not implement it; Advertises prompts/list but does not implement it

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http outris-identity-mcp https://mcp-server.outris.com/http

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add outris-identity-mcp --url https://mcp-server.outris.com/http

Cursor

Merge this server into .cursor/mcp.json in your project, then enable outris-identity-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "outris-identity-mcp": {
      "url": "https://mcp-server.outris.com/http"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "outris-identity-mcp": {
      "type": "streamableHttp",
      "url": "https://mcp-server.outris.com/http",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start outris-identity-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "outris-identity-mcp": {
      "type": "http",
      "url": "https://mcp-server.outris.com/http"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http outris-identity-mcp https://mcp-server.outris.com/http

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://mcp-server.outris.com/http

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "outris-identity-mcp": {
      "serverUrl": "https://mcp-server.outris.com/http"
    }
  }
}

Let your agent find its tools

Find servers like Outris Identity MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.