Skip to main content
Glama
getagentseal

agentseal-mcp-intel

Official
by getagentseal

agentseal-mcp-intel

Security scanner for MCP servers. Check any MCP server for supply-chain threats before you install it -- directly from Claude, Cursor, or Windsurf.


The problem

MCP servers can read your files, run commands, and call APIs on your behalf. Before you install one, you should know:

  • Does it exfiltrate data to external servers?

  • Does it contain prompt injection or jailbreak payloads?

  • Does it request excessive permissions?

  • Has it been independently tested?

Most people install MCP servers blindly. This tool changes that.

Related MCP server: tooltrust-mcp

What it does

agentseal-mcp-intel connects your AI assistant to the AgentSeal security registry -- 3,400+ MCP servers each tested with 265+ adversarial security probes. Your assistant can look up any server, scan your environment, and flag risks before you install anything.


Quick start

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "agentseal": {
      "command": "npx",
      "args": ["-y", "agentseal-mcp-intel"]
    }
  }
}

Cursor

Add to .cursor/mcp.json (project) or ~/.cursor/mcp.json (global):

{
  "mcpServers": {
    "agentseal": {
      "command": "npx",
      "args": ["-y", "agentseal-mcp-intel"]
    }
  }
}

Windsurf

Add to ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "agentseal": {
      "command": "npx",
      "args": ["-y", "agentseal-mcp-intel"]
    }
  }
}

Restart your AI tool. That's it.


Tools

Tool

What it does

Network

search_registry

Find safe MCP servers by use case

API call

check_server

Check a specific server's security score before installing

API call

check_environment

Scan all servers installed in your AI tools

API call (names only)

check_file

Analyze an AI config file for hidden threats

100% local

submit_server

Submit an unknown server for scanning

API call


search_registry

Find MCP servers by what you need. Results include trust scores so you can pick a safe option.

"Find me a PostgreSQL MCP server"
"Search for web scraping MCP servers with a score above 70"

Parameter

Type

Required

Description

query

string

Yes

What you need, e.g. "PostgreSQL", "web scraping", "send email"

category

string

No

Filter by category

safe_only

boolean

No

Only return servers scoring 70+

limit

number

No

Max results (default: 10, max: 20)


check_server

Check the security of a specific MCP server before installing it. Accepts package names, slugs, or GitHub URLs.

"Is @modelcontextprotocol/server-github safe?"
"Check the security of https://github.com/crystaldba/postgres-mcp"
"Check mcp-server-postgres before I install it"

Returns:

  • Trust score (0-100) with risk level

  • Score breakdown across 5 dimensions (description safety, schema safety, capability risk, auth & permissions, stability)

  • Security findings with severity ratings

  • Install links and metadata

Risk level

Score

Meaning

EXCELLENT

85-100

No significant issues found

HIGH

70-84

Minor issues, generally safe

MEDIUM

50-69

Review findings before installing

LOW

30-49

Significant concerns, use with caution

CRITICAL

0-29

Do not install


check_environment

Scan all MCP servers currently installed in Claude Desktop, Cursor, and Windsurf. Checks each one against the registry and groups results by risk level.

"Scan my installed MCP servers for security issues"
"Check my Cursor MCP setup"

Parameter

Type

Required

Description

scope

string

No

Which tool to scan: all (default), claude, cursor, windsurf

dry_run

boolean

No

Preview what would be scanned without making API calls

Privacy: Only server names are sent to the API. Config file paths, environment variables, API keys, and credentials never leave your machine.


check_file

Analyze an AI config file for hidden security threats. Runs entirely locally -- zero data is sent anywhere.

"Check my .cursorrules file for threats"
"Scan CLAUDE.md for prompt injection"

Detects:

  • Prompt injection and jailbreak patterns

  • Invisible Unicode characters (zero-width joiners, Unicode tags, BiDi overrides)

  • Data exfiltration instructions (URL variable interpolation, fetch + secrets)

  • Base64-encoded payloads

  • Unsafe auto-approve permissions

Supported files

.cursorrules / .cursor/rules

CLAUDE.md / .claude/

.github/copilot-instructions.md

.windsurfrules

.mcp.json / claude_desktop_config.json

check_file only accepts known AI config file patterns. Requests for arbitrary files (e.g. /etc/passwd, ~/.ssh/id_rsa) are rejected.


submit_server

Submit an MCP server that's not in the registry for security scanning. AgentSeal fetches it, runs 265+ probes, and publishes results.

"Submit mcp-server-postgres for scanning"
"Scan https://github.com/org/repo and add it to the registry"

Parameter

Type

Required

Description

name

string

Yes

Package name or GitHub URL

package_type

string

Yes

npm, pypi, remote, or docker

confirmed

boolean

Yes

Must be true to submit. Use false to preview.

Requires explicit confirmation. Your AI assistant cannot submit servers without you approving it first.


Example session

You:  Check if the GitHub MCP server is safe to install.

Claude: [calls check_server("@modelcontextprotocol/server-github")]

      [AgentSeal] server-github  ~ HIGH -- 82/100
      ████████████████░░░░  82/100
      TypeScript . MIT . 18 tools . by modelcontextprotocol

      SCORE BREAKDOWN
        Desc Safety      ▪▪▪▪▪▪▪▪▪▪  95
        Schema Safety    ▪▪▪▪▪▪▪▪··  80
        Capability       ▪▪▪▪▪▪▪···  72
        Auth & Perms     ▪▪▪▪▪▪▪▪··  78
        Stability        ▪▪▪▪▪▪▪▪▪▪  100

      FINDINGS
        0 critical . 1 high . 1 medium

You:  Scan all my installed MCP servers.

Claude: [calls check_environment()]

      ENVIRONMENT SCAN -- 4 servers across 2 config files

      SAFE
        server-github          82/100  HIGH
        server-filesystem      78/100  HIGH

      REVIEW
        mcp-server-browserbase 54/100  MEDIUM  (1 finding)

      UNKNOWN
        some-custom-mcp        NOT IN REGISTRY

      ACTION REQUIRED
        Run check_server("some-custom-mcp") or submit it for scanning.

Privacy and data handling

Action

What is read locally

What is sent to agentseal.org

What stays on your machine

search_registry

Nothing

Search query

--

check_server

Nothing

Server name/slug

--

check_environment

AI tool config files

Server names only

File paths, env vars, API keys, all config values

check_file

The specified config file

Nothing

Full file contents

submit_server

Nothing

Package name + type

--

  • No telemetry. No usage tracking, no analytics, no background network calls.

  • Credentials never leave your machine. Config parsing extracts only server names.

  • check_file is 100% local. File contents are never transmitted.

  • External content is isolated. API responses are wrapped in <agentseal:external> delimiters so your AI assistant treats them as data, not instructions.

  • Source code is fully auditable. You're looking at it.


Configuration

Environment variable

Default

Description

AGENTSEAL_API_KEY

--

Pro API key for unlimited access and full findings detail

AGENTSEAL_API_URL

https://agentseal.org

Override API base URL

AGENTSEAL_DEBUG

0

Set to 1 for debug logs on stderr

MCP_CONFIG_PATH

--

Extra config file path for check_environment (useful in CI)

Free vs Pro

Free

Pro

Requests

50/day

Unlimited

Trust scores

Yes

Yes

Finding counts

Yes

Yes

Finding details (evidence, remediation)

--

Yes

Priority scanning

--

Yes

Get a Pro key at agentseal.org/pricing.


Requirements

  • Node.js 18 or later

  • An MCP-compatible host: Claude Desktop, Cursor, Windsurf, or any MCP client


Development

git clone https://github.com/agentseal/agentseal-mcp-intel.git
cd agentseal-mcp-intel
npm install
npm run build
npm test          # 133 tests
npm run typecheck # strict TypeScript

How it works

Your AI assistant                agentseal-mcp-intel               AgentSeal API
     |                                  |                               |
     |-- "check postgres-mcp" --------->|                               |
     |                                  |-- GET /api/v1/mcp/intel/... ->|
     |                                  |<-- trust score + findings ----|
     |<-- formatted security report ----|                               |
     |                                  |                               |
     |-- "scan my .cursorrules" ------->|                               |
     |                                  |-- [local analysis only]       |
     |<-- findings (no network call) ---|                               |

The MCP server is a thin, auditable client. All scoring intelligence lives in the AgentSeal API. Local analysis (check_file) runs entirely on your machine with zero network calls.


Security

If you find a security vulnerability, please email hello@agentseal.org instead of opening a public issue.


License

FSL-1.1-Apache-2.0 -- Functional Source License 1.1.

You may use and modify this software, but you cannot offer it as a competing commercial service. After 4 years, the license converts to Apache 2.0. The AgentSeal registry, probe suite, and scoring engine are proprietary. See fsl.software for details.

Available Tools

5 tools
check_environmentA

Scan MCP servers currently installed in your AI tools (Claude Desktop, Cursor, Windsurf) and check each one against the AgentSeal registry. Shows trust scores and flags risky or unknown servers. Only server names are sent to the API - credentials and config values stay local.

ParametersJSON Schema
NameRequiredDescriptionDefault
scopeNoWhich AI tool configs to scan (default: all)
dry_runNoPreview what would be scanned without making API calls

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description bears the full burden and clearly discloses a key behavioral trait: 'Only server names are sent to the API – credentials and config values stay local.' This addresses privacy concerns. It also implies the tool is read- only and non-destructive, though it does not detail auth needs or rate limits.

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?

The description is two sentences long, with the first sentence stating the core function and the second adding an important privacy guarantee. Every sentence is meaningful and front-loaded, with no wasted words.

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

Completeness4/5

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

The description hints at the output ('shows trust scores and flags risky or unknown servers') but does not specify the format or structure. Given the tool has no output schema, additional detail would be beneficial, though the current description is sufficient for basic understanding.

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?

The input schema already provides descriptions for both 'scope' and 'dry_run' parameters (100% coverage). The description adds no additional semantic information beyond what the schema provides, so a baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly specifies the action ('scan MCP servers'), the resources ('AI tools: Claude Desktop, Cursor, Windsurf'), and the purpose ('check each against AgentSeal registry, show trust scores'). It distinguishes itself from siblings like check_file and check_server by focusing on the environment's installed servers.

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

Usage Guidelines4/5

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

The description states when to use the tool (to check installed servers) and what it does (scans and checks registry). However, it does not explicitly contrast with alternatives like search_registry or check_server, nor does it specify when not to use it.

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

check_fileA

Analyze an AI config file for hidden security threats: prompt injection, invisible characters, data exfiltration instructions, jailbreak patterns. Supported files: .cursorrules, CLAUDE.md, .github/copilot-instructions.md, .windsurfrules, .mcp.json. Runs entirely locally.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesPath to file. Examples: '.cursorrules', 'CLAUDE.md', '.github/copilot-instructions.md'

TDQS

A3.9/5.0
Behavior3/5

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

Since no annotations are provided, the description carries full burden. It states the tool runs locally, but does not explicitly mention read-only nature, permissions needed, or side effects. For a security analysis tool, more transparency would be beneficial.

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?

The description is two sentences with no wasted words. The first sentence concisely states purpose and threats, the second lists supported files and mentions locality. Well-structured and front-loaded.

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?

The description covers purpose, threats, and supported files. However, it does not describe the output or result format (e.g., list of threats, scores). With no output schema, this is a notable gap for a security analysis tool.

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?

Schema coverage is 100% with a description for the 'path' parameter. The tool description adds value by listing supported file patterns (e.g., .cursorrules, CLAUDE.md), providing context beyond the schema's examples.

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

Purpose5/5

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

The description clearly states it analyzes AI config files for specific security threats, and lists supported files. It distinguishes from sibling tools like check_environment or check_server which have different purposes.

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?

The description implies usage when dealing with AI config files, but does not explicitly state when to use vs alternatives or when not to use it. Usage guidelines are implied but not explicit.

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

check_serverA

Check the security of a specific MCP server. Returns a trust score (0-100), risk level, score breakdown, and security findings from 265+ automated probes. Useful before installing or recommending an MCP server.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPackage name or slug. Examples: '@modelcontextprotocol/server-github', 'filesystem', 'mcp-server-postgres'

TDQS

A4.3/5.0
Behavior3/5

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

Despite no annotations, the description does not confirm read-only behavior nor mention side effects. It implies a non-destructive audit via 'returns' and 'probes', but lacks explicit disclaimers about permissions or reversibility.

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?

Two sentences, front-loaded with the core purpose, followed by return details and usage hint. No wasted words.

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

Completeness5/5

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

For a single-parameter check tool with no output schema, the description adequately covers purpose, output detail, and usage context. No missing elements.

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?

Schema coverage is 100% and the parameter description provides concrete examples ('@modelcontextprotocol/server-github', 'filesystem'), adding meaningful context beyond the schema.

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

Purpose5/5

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

Clearly states the action ('check the security') and the resource ('specific MCP server'). Specifies return values (trust score, risk level, etc.) and distinguishes from sibling tools (check_environment, check_file, etc.) by focusing on server security assessment.

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

Usage Guidelines4/5

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

Provides explicit use case ('before installing or recommending an MCP server'). However, does not mention when not to use or directly contrast with sibling tools, leaving some ambiguity.

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

search_registryA

Search the AgentSeal security registry of 3,400+ scanned MCP servers. Returns trust scores (0-100) and security ratings from 265+ automated probes. Useful when the user asks to find, discover, or recommend MCP servers.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesWhat you need - e.g. 'PostgreSQL database', 'web scraping', 'send email'
categoryNoFilter by category (optional)
safe_onlyNoIf true, only return servers scoring 70 or above
limitNoMax results (default: 10, max: 20)

TDQS

A3.9/5.0
Behavior3/5

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

Without annotations, the description should convey behavioral traits. It mentions returns (trust scores, security ratings) and scale (3400+ servers, 265 automated probes), but lacks details on side effects, rate limits, or data freshness.

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?

Two efficient sentences with no extraneous information: one for purpose and one for usage context.

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?

While the description states what the tool returns and when to use it, it omits ordering, filter behavior (e.g., safe_only), and error handling. Without an output schema, more detail on return format would be valuable.

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%, so baseline is 3. The description adds a query example but does not significantly enhance understanding beyond the schema descriptions.

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

Purpose5/5

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

The description uses a specific verb ('search') and resource ('AgentSeal security registry of 3400+ scanned MCP servers'), clearly distinguishing it from sibling tools like check_server or check_file.

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

Usage Guidelines4/5

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

The explicit statement 'Useful when the user asks to find, discover, or recommend MCP servers' provides clear context for use, though it does not mention when to avoid the tool or alternatives.

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

submit_serverA

Submit an MCP server that's not in the AgentSeal registry for security scanning. AgentSeal will fetch it, run 265+ security probes, and add results to the public registry. Requires confirmed=true to prevent accidental submissions.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPackage name. Examples: 'mcp-server-postgres', '@someone/cool-mcp', 'https://github.com/org/repo'
package_typeYesPackage source type
confirmedYesMust be true to submit. Use false to preview first.

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It transparently describes that AgentSeal will fetch the server, run 265+ security probes, and add results to the public registry. This adequately discloses the tool's behavioral effects, though it could mention idempotency or duplicate handling.

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?

The description is two sentences, front-loaded with the main action and followed by a critical requirement. Every word adds value, and there is no redundancy or filler.

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?

Given no output schema, the description lacks details on the return value or error handling. While it covers purpose, behavior, and a key requirement, it omits information about what the agent can expect as a response or how to handle failures.

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%, so the baseline is 3. The description adds minimal parameter insight beyond the schema, only reiterating the 'confirmed' requirement. No additional meaning is provided for 'name' or 'package_type' beyond what the schema already offers.

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

Purpose5/5

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

The description clearly states the tool submits an MCP server not in the registry for security scanning, with a specific verb and resource. It distinguishes itself from sibling tools (check_environment, check_file, check_server, search_registry) by focusing on submission, not inspection.

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

Usage Guidelines4/5

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

The description explicitly states the tool is for servers not in the registry, giving a clear usage condition. It also highlights the 'confirmed=true' requirement to prevent accidental submissions. However, it does not provide explicit when-not-to-use or compare directly with alternatives.

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. Dates show when Glama detected each change.

  1. 5 tool updatesv0.1.3
    • First observedcheck_environment
    • First observedcheck_file
    • First observedcheck_server
    • First observedsearch_registry
    • First observedsubmit_server

TDQS

A4.3/5.0
Disambiguation5/5

Each tool targets a distinct operation: scanning environments, files, specific servers, registry search, and submissions. No functional overlap exists.

Naming Consistency5/5

All tools follow a consistent 'verb_noun' pattern (check_environment, check_file, check_server, search_registry, submit_server) with clear, action-oriented names.

Tool Count5/5

Five tools precisely cover the core workflows of security scanning: environment audit, file analysis, server checks, registry search, and submission. Neither too few nor too many.

Completeness5/5

The tool set provides complete lifecycle coverage for the domain: check existing servers (environment, file, server), discover new ones (search_registry), and add missing ones (submit_server). No obvious gaps.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Scans MCP servers for prompt injection, supply chain attacks, excessive permissions, and code execution risks. Includes an offline blacklist that catches known-compromised packages like LiteLLM 1.82.7/1.82.8 and Trivy with zero latency.
    19
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables scanning MCP server configurations for security risks like prompt injection, hardcoded secrets, and dangerous commands, providing risk scores and detailed reports before connecting to an AI coding assistant.
    18
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/getagentseal/agentseal-mcp-intel'

If you have feedback or need assistance with the MCP directory API, please join our Discord server