Skip to main content
Glama
invenio-mcp

invenio-mcp

by kiandevs

invenio-mcp

MCP server for Invenio. Connects Claude Desktop, Cursor and other MCP clients to Invenio APIs (email risk, fraud checks, OSINT search).

Setup

git clone https://github.com/kiandevs/invenio-mcp.git
cd invenio-mcp
npm install

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "invenio": {
      "command": "node",
      "args": ["<PATH_TO_REPO>/dist/index.js"],
      "env": {
        "INVENIO_API_KEY": "your_api_key_here"
      }
    }
  }
}

Cursor

Add to .cursor/mcp.json:

{
  "mcpServers": {
    "invenio": {
      "command": "node",
      "args": ["<PATH_TO_REPO>/dist/index.js"],
      "env": {
        "INVENIO_API_KEY": "your_api_key_here"
      }
    }
  }
}

Related MCP server: OSINT MCP Server

Tools

  • invenio_check_email_risk - Check email disposable status, MX records, gibberish score and fraud risk.

  • invenio_create_search_task - Run OSINT search (user, email, phone).

  • invenio_get_search_task - Fetch search results.

  • invenio_get_account_status - Check current quota and plan.

Env

  • INVENIO_API_KEY (required) - API key from invenio.cc/dashboard/security.

  • INVENIO_BASE_URL (optional) - Default https://invenio.cc.

Available Tools

4 tools
invenio_check_email_riskB

Check if an email is disposable, spam, gibberish or fraud risk.

NameRequiredDescriptionDefault
emailYesEmail address to check.

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries the full behavioral burden, and it discloses almost nothing beyond the risk categories. It doesn't say whether this hits an external service, what the returned verdict looks like (boolean, category list, score), whether results are cached, or whether there are latency/rate constraints. For an unannotated tool with no output schema, this is a significant disclosure gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence, front-loaded with the verb and resource, with the risk categories listed immediately after. Zero filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple, but with no annotations and no output schema, the description should explain what a caller gets back — a per-category result, an overall verdict, or a confidence score. That return-shape information is entirely absent, leaving an agent unable to plan how to consume the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is a single required parameter and the schema already documents it at 100% coverage ('Email address to check.'), so the schema does the work here. The description adds no format constraints, normalization rules, or edge-case notes (e.g., case sensitivity, unicode) beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb ('check') and resource ('an email') and enumerates the exact risk categories evaluated: disposable, spam, gibberish, fraud. An agent can immediately tell what the tool does. It doesn't explicitly differentiate from the sibling tools, but they (search tasks, account status) are obviously unrelated domains, so misselection risk is low.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the description — you call it when you need to validate the risk profile of an email address. However, there is no explicit when-to-use or when-not-to-use framing, no mention of prerequisites, and no named alternative for related checks.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

invenio_create_search_taskB

Start an OSINT search for a username, email or phone.

NameRequiredDescriptionDefault
termYesQuery string.
typeYesTarget type.

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden and discloses almost nothing: not that this is an asynchronous job start, not that it returns a task handle requiring polling, not whether it costs credits or has rate limits. The word "Start" hints at async but the follow-up contract with invenio_get_search_task is never stated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One front-loaded sentence with zero padding. It is terse rather than bloated; the shortfall is missing content, which is penalized elsewhere, not verbosity here.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an async task-creation tool with no annotations and no output schema, an agent is left without the essential lifecycle information: that a task is created and results must be fetched via invenio_get_search_task, and roughly what the task handle looks like. The description is complete on inputs only.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the enum already constrains type to user/email/phone, so the schema does the heavy lifting. The description's mention of "username, email or phone" loosely maps to those enum values but adds no format, validation, or matching semantics beyond it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ("Start") and resource ("OSINT search") plus the accepted target dimensions (username, email, phone), so the agent knows this initiates an investigation. It does not name or contrast with siblings like invenio_check_email_risk, which occupies adjacent territory for email targets, so differentiation is only implicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the target-type list, but nothing says when to pick this over invenio_check_email_risk for an email, or that results must be retrieved via invenio_get_search_task. No exclusions or prerequisites are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

invenio_get_account_statusA

Get account plan and remaining search limits.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden; the verb 'Get' implies a read-only, non-mutating call, which is useful. It does not disclose the window these limits apply to (daily/monthly), whether the values are live or cached, or auth requirements — modest gaps for a low-risk status call.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence naming both returned fields with zero filler. Nothing redundant and nothing padded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description is the only source of return-value information, and it names the two fields but not their shape (units, reset timing, structure). For a zero-arg tool this is close to sufficient, but an agent still cannot anticipate what the payload looks like.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Zero parameters, so there is nothing to disambiguate; baseline 4 applies. The description adds no parameter context because none exists.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb ('Get') plus concrete resources ('account plan and remaining search limits'), so the agent knows exactly what comes back. It does not name or contrast with any sibling, but the sibling set (search-task and email-risk tools) is clearly disjoint, so confusion is unlikely.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: an agent would infer this is the pre-flight check before creating search tasks, but the description never states that, nor any when-not or prerequisite condition. Adequate but leaves the routing decision to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

invenio_get_search_taskC

Get results for an OSINT search task.

NameRequiredDescriptionDefault
task_idYesTask ID.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden but discloses almost nothing: it doesn't say whether incomplete tasks return partial results or an error, whether the call is read-only or long-running, or what happens with an invalid task_id. Only the implicit 'Get' framing suggests a read operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with zero filler. It is efficient, though the terseness borders on under-specification rather than genuine conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema and no annotations, so the description should convey what is returned (findings, counts, status), whether results are paginated, and how to handle a task that isn't finished. None of that is present, leaving an agent unable to predict the response.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3; the schema itself only says 'Task ID.', which adds no real semantics. The description doesn't compensate by indicating where the task_id comes from (e.g., the value returned by invenio_create_search_task) or its format.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: 'Get results' for an 'OSINT search task'. This is clearly distinct from siblings like invenio_create_search_task or invenio_get_account_status, so an agent can identify it without ambiguity. It stops short of 5 because it doesn't describe what 'results' contains or the task lifecycle.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to call this, whether the task must be completed first, or how it relates to invenio_create_search_task. The relationship (call after creating a task) is only inferable from the noun 'task' and the required task_id parameter.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updatesv1.0.0
    • First observedinvenio_check_email_risk
    • First observedinvenio_create_search_task
    • First observedinvenio_get_account_status
    • First observedinvenio_get_search_task

TDQS

A3.6/5.0

Scored across 4 tools

Disambiguation5/5

Each tool targets a clearly distinct action: checking email risk, creating an OSINT search task, retrieving search results, and checking account status. There is no overlap between the email-risk tool and the async search lifecycle tools, and the two get_* tools operate on clearly different resources.

Naming Consistency5/5

All tool names follow a consistent invenio_ prefix plus verb_noun pattern: check_email_risk, create_search_task, get_search_task, get_account_status. The convention is predictable and readable.

Tool Count5/5

Four tools is well-scoped for a focused OSINT/email-risk API wrapper. Each tool corresponds to a real operation and none appear redundant or filler.

Completeness4/5

The core workflows are covered: submit an OSINT search, poll for its results, run an email-risk check, and inspect remaining account limits. Minor gaps exist, such as listing or cancelling search tasks and possibly batch email checks, but agents can work around these.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    Exposes popular OSINT and reconnaissance tools like Sherlock, SpiderFoot, and Holehe through MCP and HTTP APIs for AI assistants. Runs security research tools in sandboxed environments and returns normalized JSON results for investigation and analysis.
    1
    -
  • A
    license
    D
    quality
    D
    maintenance
    A comprehensive MCP server providing tools for IP, domain, email, and image-based open-source intelligence. It integrates services like Shodan, VirusTotal, and HaveIBeenPwned to facilitate advanced security research and data gathering.
    56
    40 npm
    ISC
  • F
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that connects AI assistants to OpenCTI threat intelligence platforms. It enables natural language interaction for searching threat intelligence, analyzing reports, managing indicators, and monitoring connectors.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    A comprehensive MCP server that exposes multiple OSINT tools to AI assistants like Claude, enabling sophisticated reconnaissance and information gathering tasks using industry-standard OSINT tools.
    246
    MIT