Skip to content

Aidenix

com.aidenix/aidenixaidenix.comstreamable-httpv1.0.0Scanned

B2B people and company data: search, your own list, team tools, email checks, lead fit and drafts.

18 tools: 1 can delete or cancel things, 10 change things and 7 only read.

Tools: 1 delete, 0 irreversible, 10 write, 7 read.
  • Reads private data · 3
  • Reads text others write · 18
  • Can send data out · 0
  • 1 finding

Anlyon alternative

11 of these tools change something. Run those as governed actions.

Declare what an action changes, and Anlyon puts it under a shared limit, binds every approval to the exact request, and grades the outcome. It works on any HTTPS API you can describe as an action.

Anlyon does not run, proxy or govern this MCP server. A tool your own code calls directly is not routed through Anlyon and is not governed by it.

Import an OpenAPI spec →

Tools

Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.

18 tools

Deletes or cancels 1Claude Code: deny
  • remove_opt_outTake a contact off this account's opt-out list — for a record added by mistake, or a person who asked to be contacted again.Reads text others writeNo findings

    Why it is in this group

    • The name "remove_opt_out" says "remove": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Take a contact off this account's opt-out list — for a record added by mistake, or a person who asked to be contacted again. Only a record this account created can be lifted: the list is shared, so one account must not undo an exclusion another was asked for. Reports whether the record was lifted, was never there, or belongs to another account.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: true
Changes things 10Claude Code: ask
  • add_opt_outRecord a person in this account's opt-out list when they ask not to be contacted.Reads text others writeNo findings

    Why it is in this group

    • The name "add_opt_out" says "add": a word for a change.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Record a person in this account's opt-out list when they ask not to be contacted. Takes an email, phone or LinkedIn profile and detects which it is. Repeating a contact is safe — the second call reports it was already there instead of adding it twice. The list is enforced: contact analysis refuses an excluded contact, and people lists leave them out. Costs no quota — recording a request not to be written to must work on an exhausted plan — but new records are capped at 10 per account per day, so this is for people who asked, one at a time, not for bulk-marking a list. Use remove_opt_out to lift a record this account made.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • analyze_contactReturn a complete user-facing single-contact business-fit analysis and outreach drafts.Reads private dataReads text others write1 finding

    Why it is in this group

    • The name "analyze_contact" says "analyze": a word for reading.
    • The server marks it as not read-only (readOnlyHint: false).

    What it can reach

    • private-dataThe name "analyze_contact" says "analyze" and "contact": it reads contacts.
    • private-dataThe description's first sentence says "return" and "contact": it reads contacts.
    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.

    Findings

    • Warn

      The server marks "analyze_contact" as not read-only (readOnlyHint: false), and its words say it reads.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "analyze_contact" says "analyze": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Return a complete user-facing single-contact business-fit analysis and outreach drafts. When presenting a completed result, hide technical metadata and use human-readable headings while preserving every user-facing content field.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • analyze_contactsSubmit up to 500 contacts for a named batch business-fit analysis.Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "analyze_contacts" says "analyze": a word for reading.
    • The description's first verb is "submit": a word for a change.

    What it can reach

    • private-dataThe name "analyze_contacts" says "analyze" and "contact": it reads contacts.
    • private-dataThe description's first sentence says "contact": it reads contacts.
    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Submit up to 500 contacts for a named batch business-fit analysis.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • build_icp_profileBuild the seller's ICP profile by reading their own website: what they sell, the value proposition, which roles and industries they sell to, the pain points, proof points and tone …Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Build the seller's ICP profile by reading their own website: what they sell, the value proposition, which roles and industries they sell to, the pain points, proof points and tone of voice. The new profile becomes the active one, so every later score and every generated email is weighted by it — confirm with the user before running it on a website they have not named. Use it to onboard a new account or after a repositioning; use list_icp_profiles to see what is already there. The URL is the seller's own site, never the prospect's. A recent profile for the same site is not rebuilt — the upstream reports it already exists.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • company_peopleAdmin-only: the upstream refuses this tool for customer accounts, so do not offer it as an option — company_signals covers the account and analyze_contact covers the person.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Admin-only: the upstream refuses this tool for customer accounts, so do not offer it as an option — company_signals covers the account and analyze_contact covers the person. Get the people of a company and the addresses to reach them. Given a domain, LinkedIn slug or name, returns the team by name — role, grade, seniority, country, LinkedIn — and the work addresses the sources actually hold, ranked by who decides and who is reachable. Every address carries what it is worth: on the company domain, a shared company inbox (info@ / support@), a short address two namesakes share, one a source flagged as a previous job, or a private mailbox — often the only way to reach the founder of a small company. Addresses are never invented from a name@domain template and are not SMTP-probed — these domains are mostly catch-all, so a probe would prove nothing; use email_intel when one specific address has to be trusted. Phone numbers are not returned, and people who opted out are excluded entirely. This is the roster layer: company_signals profiles the ACCOUNT, person_signals explains ONE human, analyze_contact scores the deal and drafts the outreach. Use roles=founder,ceo to keep only the people who answer cold email. Present who to write to and what their address is worth; keep the raw rows for your workflow.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • company_signalsProfile a company and its current moment before working its people.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Profile a company and its current moment before working its people. Given a domain or name, returns firmographics + revenue, team makeup, hiring velocity from careers (which catches layoffs a static card misses), activity signals (funding, hiring focus, product, partnerships, attrition), geo footprint, a growth / reorg / stealth / stable verdict with outreach timing, and a teaser of which organizations the team reads. Set relationships=true to expand that teaser into the full attention map — the orgs they follow (competitors / vendors / media), top public accounts influencing the buyer (warm-intro paths), and internal amplifiers by role. team.tools lists what the team uses inside (Snowflake, Kafka, Salesforce…) from current employees' skills, with how many people use each; add enrich=true for an LLM read of the opinion-leaders, what the pattern means, and org categorization (~20s, hot accounts only). Employee names are never exposed. Costs one request of the user's quota per call — priced per account, not per person, so one call carries every lead from that company; do not repeat it per contact. Call once per account for research and timing; then analyze_contact for the individuals. Present the verdict and timing; keep the raw blocks for your workflow.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • email_intelDecide whether an email address is worth contacting, before drafting anything.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Decide whether an email address is worth contacting, before drafting anything. Answers two independent questions: does the mailbox accept mail, and is the person still there. Catches what email verifiers miss — someone who left the company, a renamed domain, a historic address — because a live mailbox at a stale address still bounces the deal, not the message. Costs one request of the user's quota, the same as an analysis: run it before analyze_contact when the address might be dead — personalizing for someone who left wastes the analysis — and skip it on a contact you already trust, where it only adds a second request. Present the recommended action and the reason; keep raw verdicts and scores for your own workflow.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • email_intel_bulkAssess a whole list of addresses in one call, before spending analysis on any of them.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Assess a whole list of addresses in one call, before spending analysis on any of them. Same two questions as email_intel — does the mailbox accept mail, is the person still there — answered per address, and returned as a split by recommended action so you can drop the dead ones and keep the rest. Up to 50 addresses per call, or 10 when deliverability or enrich is on, because those layers are slow; split a longer list yourself. Costs one request of the user's quota per address, so it pays for itself on the addresses it lets you drop rather than analyse — worth it on a cold list, not on a handful of contacts you already trust. If the remaining quota covers only part of the list, the rest is reported as skipped, not assessed; say so instead of presenting a short answer as a complete one. Present the counts and name the addresses not to send to; keep the per-address blocks for your workflow.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • export_batchCreate a short-lived CSV or JSON export link for a completed batch.Reads text others writeNo findings

    Why it is in this group

    • The description's first verb is "create": a word for a change.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Create a short-lived CSV or JSON export link for a completed batch.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • person_signalsWho a person is and what is going on with them.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Who a person is and what is going on with them. Given an email, LinkedIn URL, or slug, returns their role, grade and current company; the career trajectory from dates (months in the seat, whether they grew inside, their usual tenure); what they publish themselves and the subjects they raise; whose content they read; what they said about themselves (looking for work / hiring / milestone); and a verdict with the career moment and how to approach. Works even when the address is dead — the person is resolved to their current employer, which is often the point. Costs one request of the user's quota per contact, the same as an analysis — reach for it when you need the human behind the address, not as a warm-up before analyze_contact. This is the person layer: email_intel answers whether the ADDRESS is usable, analyze_contact scores the DEAL and drafts outreach, this one says who the human is. Asked by email, the answer carries no name and no profile slug — turning a mailbox into an identity is exactly what email_intel refuses to do, and this layer follows the same rule; ask by profile URL or slug and the name comes back, since the caller already holds it. Present the career moment, their own subjects, and the timing; keep raw blocks for your workflow. When match_confidence is low, say why: either the address did not match the profile name, or linked_profiles shows several people behind one address and the most corroborated was taken.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
Only reads 7Show 7 read-only tools
  • get_account_contextReturn the authenticated Aidenix account plan, quota, and selected ICP, using the profile website as its human-readable label.Reads text others writeNo findings

    Why it is in this group

    • The name "get_account_context" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    • untrusted-inputThe description's first sentence says "return" and "website": it reads web pages, which anyone can write.
    Description, as the server wrote it
    Return the authenticated Aidenix account plan, quota, and selected ICP, using the profile website as its human-readable label.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • get_analysisPoll one business-fit analysis job and return the complete user-facing result when finished; hide technical metadata and use human-readable headings while preserving every user-fac…Reads text others writeNo findings

    Why it is in this group

    • The name "get_analysis" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Poll one business-fit analysis job and return the complete user-facing result when finished; hide technical metadata and use human-readable headings while preserving every user-facing content field.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • get_batchGet readable batch progress and optionally one page of results.Reads text others writeNo findings

    Why it is in this group

    • The name "get_batch" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Get readable batch progress and optionally one page of results.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • list_batchesList batch analyses by name with readable status and progress.Reads text others writeNo findings

    Why it is in this group

    • The name "list_batches" says "list": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    List batch analyses by name with readable status and progress.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • list_icp_profilesList ICP profiles by website and product description, including which website is selected.Reads text others writeNo findings

    Why it is in this group

    • The name "list_icp_profiles" says "list": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    • untrusted-inputThe description's first sentence says "list" and "website": it reads web pages, which anyone can write.
    Description, as the server wrote it
    List ICP profiles by website and product description, including which website is selected.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Exfil surface

Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.

No private-data, untrusted-input, outbound path in this server alone: no tool is tagged outbound.

Reads private data3
Reads files, mail, messages, databases, secrets, calendars or repositories.
Reads text others write18
Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
Can send data out0
Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.

Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.

Findings

Matches of fixed checks, with the text they matched.

1 warn
  • The server marks "analyze_contact" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "analyze_contact" says "analyze": a word for reading.

    What this check looks for

History

Changes to its tool definitions and to its remote endpoint, newest first.

No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.

Install

Pinned to version 1.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http aidenix https://mcp.aidenix.com/mcp --header 'Authorization: <your-authorization>'
claude mcp add --transport http aidenix https://mcp.aidenix.com/mcp --header 'Authorization: <your-authorization>'

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__aidenix__get_account_context",
      "mcp__aidenix__list_icp_profiles",
      "mcp__aidenix__get_analysis",
      "mcp__aidenix__list_batches",
      "mcp__aidenix__get_batch",
      "mcp__aidenix__company_search",
      "mcp__aidenix__person_search"
    ],
    "ask": [
      "mcp__aidenix__analyze_contact",
      "mcp__aidenix__analyze_contacts",
      "mcp__aidenix__export_batch",
      "mcp__aidenix__email_intel",
      "mcp__aidenix__email_intel_bulk",
      "mcp__aidenix__build_icp_profile",
      "mcp__aidenix__company_signals",
      "mcp__aidenix__company_people",
      "mcp__aidenix__person_signals",
      "mcp__aidenix__add_opt_out"
    ],
    "deny": [
      "mcp__aidenix__remove_opt_out"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as aidenix. Review it before you use it.

Capability tags behind 18 rules
  • mcp__aidenix__get_account_context untrusted-input
  • mcp__aidenix__list_icp_profiles untrusted-input
  • mcp__aidenix__analyze_contact private-data, untrusted-input
  • mcp__aidenix__get_analysis untrusted-input
  • mcp__aidenix__analyze_contacts private-data, untrusted-input
  • mcp__aidenix__list_batches untrusted-input
  • mcp__aidenix__get_batch untrusted-input
  • mcp__aidenix__export_batch untrusted-input
  • mcp__aidenix__email_intel untrusted-input
  • mcp__aidenix__email_intel_bulk untrusted-input
  • mcp__aidenix__build_icp_profile untrusted-input
  • mcp__aidenix__company_signals untrusted-input
  • mcp__aidenix__company_people untrusted-input
  • mcp__aidenix__company_search untrusted-input
  • mcp__aidenix__person_search private-data, untrusted-input
  • mcp__aidenix__person_signals untrusted-input
  • mcp__aidenix__add_opt_out untrusted-input
  • mcp__aidenix__remove_opt_out untrusted-input

Pin

Keep the decision: fail CI when the tools change, follow every change, or show a badge.

Pin in CI

Fail a build when the tools you reviewed are not the tools the server serves today.

curl -s "https://anlyon.dev/api/v1/servers/com.aidenix/aidenix/verify?hash=ac319dcf4c29b8aa282a46c7057c19a1c3517d5a9de234aaa6dbed8dc3d3b8df" | jq -e '.changed == false'

Pinned hash ac319dcf4c29, from Nov 3, 2026, 21:18 UTC.

Watch

Get told when its tools change: a new tool, a new description, a new class.

https://anlyon.dev/servers/com.aidenix/aidenix/changes.xml

An Atom feed. Works in any feed reader or Slack's RSS app.

Badge

anlyon.dev badge for com.aidenix/aidenix
[![anlyon.dev](https://anlyon.dev/badge/com.aidenix/aidenix.svg)](https://anlyon.dev/servers/com.aidenix/aidenix)

Source: MCP Registry. Synced Nov 3, 2026, 22:17 UTC.