Skip to main content
Glama
arshabmohan03-hash

Talos MCP Server

Talos, an AI powered vulnerability detection and auto-remediation via MCP

Talos is an AI-powered cybersecurity assistant and brute-force detection platform built for defensive security analysis, incident response, phishing/link safety checks, research discovery, security reporting, and practical remediation workflows.

Model Context Protocol Built with Nitrostack Status

Talos, an AI powered vulnerability detection and auto-remediation via MCP is an MCP (Model Context Protocol) server that extends AI assistants with real defensive-security tools. It is built for NitroStack/NitroCloud deployment and can be connected to MCP-compatible clients such as Claude Desktop, Cursor, NitroChat, and other AI agent environments.

Table of Contents

Related MCP server: AgentAudit

Overview

Talos combines a TypeScript/NitroStack MCP server with a bundled standalone security runtime. It exposes structured tools for passive website scanning, CVE lookup, authentication-log analysis, research-paper discovery, phishing and malicious-link detection, password checks, JWT decoding, IP investigation, security report generation, email alerting, and defensive resource search.

Instead of giving generic text-only answers, an AI assistant can call the correct Talos MCP tool directly, inspect live results, generate evidence-backed reports, and move from detection to investigation and remediation in one workflow.

The project is designed for standalone NitroStack hosting. When Python is unavailable in the hosting runtime, Talos can run its Node-compatible fallback tools with TALOS_FORCE_NODE_TOOLS=true.

What is MCP?

The Model Context Protocol (MCP) is an open standard that lets AI assistants securely connect to external tools, data sources, and services. Instead of being limited to static model knowledge, an AI assistant can call MCP servers to fetch live data, run actions, and integrate with real systems.

This project is one such MCP server. Learn more about building and shipping MCP apps at nitrostack.ai.

Features

  • MCP-native - works with MCP-compatible clients.

  • NitroStack ready - deployable as a standalone NitroStack MCP app.

  • Security toolbox - website scanning, CVE lookup, phishing/link safety, IP lookup, password utilities, JWT decoding, and more.

  • Research support - academic/security research search and paper lookup tools.

  • Report generation - creates structured security reports without emailing unless explicitly requested.

  • Email capable - can send alerts or report summaries when SMTP/Gmail settings are configured.

  • Node-compatible fallback mode - works in NitroCloud-style Node-only hosting.

  • Secret-safe repo - API keys and mail credentials belong in environment variables, not in committed code.

Tools

  • scan_website

  • lookup_cves

  • analyze_auth_log

  • search_research

  • find_research_papers

  • analyze_link_safety

  • generate_blocklist

  • send_alert

  • send_email

  • generate_security_report

  • send_report_email

  • self_test_all_tools

  • check_password_strength

  • generate_password

  • hash_text

  • decode_jwt

  • lookup_ip

  • get_defense_status

  • list_security_tools

  • run_security_tool

  • search_resources

  • get_resource_page

  • list_resources

Live Demo

Live MCP endpoint:

https://mentora-6a-mentora-builders-amrita-university-amritapuri-campus.app.nitrocloud.ai/mcp

Point your MCP client at the endpoint above to try it instantly. Prefer your own hosted setup? Deploy this repo on NitroStack.

Getting Started

Prerequisites

  • Node.js 20+ for NitroStack builds.

  • npm.

  • An MCP-compatible client such as NitroChat, Claude Desktop, Cursor, or another MCP client.

Installation

git clone https://github.com/arshabmohan03-hash/talos-mcp-server.git
cd talos-mcp-server
npm install

Configuration

Copy the example environment file and add your own values:

cp .env.example .env

For NitroCloud/Node-only deployments, use:

NODE_ENV=production
PORT=3002
MCP_TRANSPORT=dual
MCP_TRANSPORT_TYPE=dual
MCP_HOST=0.0.0.0
HOST=0.0.0.0
MCP_BASE_PATH=/mcp
TALOS_APP_ROOT=./app-runtime
TALOS_FORCE_NODE_TOOLS=true
TALOS_TOOL_TIMEOUT_MS=60000

Run Locally

npm run build
node dist/index.js

Health check:

curl http://localhost:3002/mcp/health

Connect to an MCP Client

Add this server to your MCP client configuration:

{
  "mcpServers": {
    "talos-mcp-server": {
      "url": "https://mentora-6a-mentora-builders-amrita-university-amritapuri-campus.app.nitrocloud.ai/mcp"
    }
  }
}

Restart your client and the Talos tools will be available to your AI assistant.

Deploy Your Own MCP App

Upload this repository or connect it to NitroStack.

Recommended NitroStack settings:

Build command:
npm install
npm run build

Runtime:
node dist/index.js

Environment:
NODE_ENV=production
PORT=3002
MCP_TRANSPORT=dual
MCP_TRANSPORT_TYPE=dual
MCP_HOST=0.0.0.0
HOST=0.0.0.0
MCP_BASE_PATH=/mcp
TALOS_APP_ROOT=./app-runtime
TALOS_FORCE_NODE_TOOLS=true
TALOS_TOOL_TIMEOUT_MS=60000

Want to build and ship an MCP server like this one? NitroStack lets you create, deploy, and host MCP apps without managing infrastructure.

Environment Variables

Set these in your deployment environment as needed:

GOOGLE_SAFE_BROWSING_API_KEY=
VIRUSTOTAL_API_KEY=
PHISHTANK_API_KEY=
URLSCAN_API_KEY=
CEREBRAS_API_KEY=
CEREBRAS_API_KEY_SECONDARY=
GROQ_API_KEYS=
OPENALEX_API_KEY=
CORE_API_KEY=
SEMANTIC_SCHOLAR_API_KEY=
ALERT_EMAIL=
ALERT_EMAIL_PASSWORD=
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SECURITY_ALERT_EMAIL=
SLACK_WEBHOOK_URL=

Do not commit .env, app passwords, API keys, Firebase service-account files, or local test-key files.

Explore More MCP Apps

FAQ

What is an MCP server?

An MCP server implements the Model Context Protocol to expose tools, resources, and prompts that AI assistants can call. It lets an AI model take useful actions and access live data through a structured interface.

What does Talos do?

Talos provides defensive cybersecurity tools through MCP, including passive website security checks, brute-force log analysis, CVE lookup, phishing/link safety detection, security report generation, research lookup, and email alert workflows.

Does report generation automatically send email?

No. generate_security_report returns and saves a report by default. Email is sent only when the user explicitly asks to email, forward, send, or share the report, or when an email-specific tool is called.

Which AI clients does this work with?

Any MCP-compatible client that can connect to an HTTP MCP endpoint, including NitroChat, Claude Desktop, Cursor, and other agent environments.

How do I deploy my own MCP app?

Use NitroStack to build, deploy, and host MCP apps without managing server infrastructure.

Keywords

Talos - MCP - Model Context Protocol - MCP server - NitroStack - NitroCloud - AI security assistant - vulnerability detection - brute-force detection - phishing detection - link safety - security report - CVE lookup - cybersecurity tools - AI agents

License

MIT (C) 2026


Built with the Model Context Protocol on NitroStack. Share MCP apps with the community on r/mcptothemoon.

Available Tools

13 tools
check_password_strengthCheck Password StrengthA
Read-onlyIdempotent

Analyze password strength, entropy, estimated crack time, common issues, and known breach exposure using k-anonymity where configured.

ParametersJSON Schema
NameRequiredDescriptionDefault
passwordYesPassword to analyze.

TDQS

A4/5.0
Behavior4/5

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

Annotations already indicate readOnlyHint, idempotentHint, and non-destructive behavior. The description adds valuable behavioral context by mentioning the use of k-anonymity for breach exposure checks, which goes beyond the annotations.

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 a single sentence that efficiently conveys the tool's capabilities without redundancy. Every phrase adds value, and the main action is front-loaded.

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?

Given the simple parameter set and good annotations, the description covers the tool's purpose and notable features like k-anonymity. It lists the expected output aspects, but lacks an explicit mention of the return format, though not critical.

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 schema has 100% coverage with a minimal description for the single parameter 'password'. The tool description discusses the analysis outputs but does not add further parameter-specific meaning. Baseline 3 applies.

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 verb 'Analyze' and the resource 'password strength', listing specific aspects such as entropy, crack time, common issues, and breach exposure. This distinctly differentiates from sibling tools like hash_text or decode_jwt.

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 for checking password strength but does not explicitly state when to use it versus alternatives. No guidance on exclusions or context is provided, though the purpose is clear from the name and description.

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

decode_jwtDecode JWTA
Read-onlyIdempotent

Decode a JWT header and payload without signature verification.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYesJWT string to decode without signature verification.

TDQS

A4/5.0
Behavior4/5

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

Annotations already indicate idempotent, read-only behavior. The description adds the crucial detail 'without signature verification', which goes beyond annotations and informs the agent of a key behavioral trait.

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 a single sentence that conveys all necessary information with no wasted words, achieving maximum conciseness.

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?

Given the tool's simplicity (single parameter, no output schema), the description is complete enough: it specifies what the tool decodes and the key limitation. No additional context is necessary.

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 100% coverage with a description for the sole parameter. The tool description adds no additional meaning beyond what the schema offers, so baseline 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 states the verb 'decode', the resource 'JWT header and payload', and the key distinction 'without signature verification', which differentiates it from verification tools.

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 the tool is for reading JWT data without verification, but does not explicitly state when to use it over alternatives or mention any prerequisites or exclusions.

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

find_research_papersFind Research PapersA
Read-onlyIdempotent

Find real academic research papers and citations for security scan findings or vulnerability topics. Use this when the user says research papers, papers, citations, studies, academic literature, references, arXiv, Semantic Scholar, OpenAlex, CORE, IEEE-style evidence, or asks for papers about found bugs/findings like HSTS, CSP, X-Frame-Options, clickjacking, MIME sniffing, or Referrer-Policy.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoDirect academic/research paper search query.
topicNoTopic to search for papers, citations, studies, or academic literature.
sourceNoDatabase to search. Defaults to all.
targetNoOptional website/domain context from the scan.
productNoOptional product/software context for vulnerability papers.
versionNoOptional product version.
findingsNoWebsite scan findings or vulnerability names, such as Missing HSTS, Missing CSP, clickjacking, MIME sniffing, or Referrer-Policy.
year_fromNoOnly include papers from this year onward. Defaults to 2010.
max_resultsNoMaximum papers to return. Defaults to 12.
open_accessNoOnly include papers with open access full text.

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and not destructive. The description adds that it finds real academic papers from multiple databases, which is useful context but does not disclose behavioral traits like rate limits or pagination. With good annotation coverage, a score of 3 is appropriate.

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?

The description is a single sentence followed by a list of triggers. It is front-loaded with the core purpose and uses a concise structure. The list is somewhat long but serves as useful guidance.

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?

Given the high parameter count, full schema coverage, and no output schema, the description provides adequate context for tool selection (when to use, trigger phrases). It does not explain output format, but the purpose is clear. Complete enough for a tool with strong annotations.

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 the schema already documents all 10 parameters thoroughly. The description adds trigger phrases but no additional parameter semantics beyond the schema. Baseline 3 is justified.

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 explicitly states the tool finds academic research papers for security topics, with a specific verb and resource. It lists many trigger phrases, clearly distinguishing it from sibling tools which are unrelated to paper searching.

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 provides clear when-to-use guidance by listing explicit user phrases and contexts (e.g., 'research papers', 'citations', 'arXiv', vulnerability topics). It does not explicitly mention when not to use, but the context is sufficient.

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

generate_security_reportGenerate Security ReportA
Read-only

Generate a consolidated Talos security report from website scan, CVEs, research, and optional auth-log analysis. By default this ONLY returns the report. Do not email, forward, or send it unless the user explicitly asks for email/send/forward/share, or send_email is true.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoRecipient email, used only when send_email is true.
titleNoOptional report title.
targetNoOptional website or URL to scan. If omitted, no website scan is run.
productNoOptional product/software name for CVE lookup, for example nginx.
versionNoOptional product version for CVE lookup, for example 1.18.0.
thresholdNoFailed-attempt threshold for auth log analysis.
send_emailNoOnly send the report by email when this is explicitly true. Defaults to false.
auth_log_pathNoOptional auth log path if analyze_auth_log is true.
research_queryNoOptional research query. If omitted and target/product exists, Talos builds a security query.
analyze_auth_logNoAnalyze the bundled auth log too. Defaults to false.
include_researchNoInclude academic research citations. Defaults to true.

TDQS

A3.5/5.0
Behavior1/5

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

Annotation readOnlyHint=true contradicts the description, which allows sending email when send_email is true. This is a serious inconsistency. The description does disclose the email behavior, but the contradiction undermines trust.

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 with no wasted words: first states the tool's core function, second adds an essential behavioral constraint. Front-loaded and efficient.

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 11 parameters and no output schema, the description could elaborate more on report format or return structure. It covers default behavior and email caveat, but lacks details on what the report contains or how it is returned.

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 does not add significant meaning beyond the schema; the key behavioral constraint (default no email) is only partially parameter-related.

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 generates a consolidated Talos security report from multiple sources (website scan, CVEs, research, auth-log analysis). It distinguishes from sibling tools like send_report_email and run_security_tool by specifying its unique scope and default return-only behavior.

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 says 'By default this ONLY returns the report. Do not email... unless the user explicitly asks or send_email is true.' This provides clear usage context and when-not-to-use guidance. However, it does not name alternative tools for email functionality.

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

get_defense_statusGet Defense StatusA
Read-onlyIdempotent

Get Talos self-defense status: blocked IPs, attack counts, attack type breakdown, and recent events.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already indicate the tool is read-only and idempotent. The description adds value by specifying the output contents (blocked IPs, attack counts, etc.), which is beyond what annotations provide. No contradictions.

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?

Single sentence is extremely concise, front-loaded with the action and resource, and contains no unnecessary 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?

Given no parameters and no output schema, the description sufficiently describes what the tool returns. For a simple read-only status tool, this is complete.

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?

No parameters exist (schema coverage 100%), so the description does not need to compensate. Baseline score of 4 is appropriate as it correctly implies no input is required.

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?

Description explicitly states the tool retrieves Talos self-defense status and lists specific data types (blocked IPs, attack counts, breakdown, recent events), clearly distinguishing it from sibling tools like check_password_strength or lookup_ip.

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?

No explicit guidance on when to use this tool versus alternatives. However, the context implies it's for checking self-defense status, and no sibling tool has a similar purpose, so ambiguity is low.

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

get_resource_pageGet Resource PageA
Read-onlyIdempotent

Fetch the full text of one page from a book in the local resource library.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageYesOne-based page number.
book_idYesBook id from list_resources or search_resources.

TDQS

A3.6/5.0
Behavior2/5

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

Annotations already indicate read-only, idempotent, non-destructive behavior. Description adds no additional behavioral context (e.g., error handling, page range 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?

Single, clear sentence with no wasted words. Essential information front-loaded.

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?

Core purpose well covered. Could mention return format or limitations (e.g., book must exist), but adequate for simple read operation with rich schema.

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 descriptions cover both parameters fully. Description does not add extra meaning beyond what schema already provides.

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?

Description states specific verb ('Fetch'), resource ('page from a book'), and scope ('local resource library'). Clearly distinguishes from siblings like list_resources or search_resources.

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?

Implies usage for fetching a single page, but no explicit when-to-use, when-not, or alternatives provided.

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

hash_textHash TextA
Read-onlyIdempotent

Compute MD5, SHA-1, SHA-256, or SHA-512 hashes of text.

ParametersJSON Schema
NameRequiredDescriptionDefault
algoNoHash algorithm. Defaults to sha256.
textYesText to hash.

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds no extra behavioral context beyond the basic function, such as handling of large inputs or output encoding. With annotations covering safety, a 3 is acceptable.

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, no wasted words. Perfectly concise for a simple tool.

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?

For a straightforward hashing tool, it tells the essential purpose and algorithms. However, it doesn't mention the output format (likely hex string) or confirm that the default algorithm is sha256 as per schema. Slight gap but mostly complete.

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?

Input schema has 100% description coverage, so the description adds little beyond listing algorithms already in the schema's enum. The schema also notes default algo=sha256, which isn't restated.

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 it computes hashes of text and lists the four supported algorithms (MD5, SHA-1, SHA-256, SHA-512). This distinguishes it from sibling tools like check_password_strength or lookup_ip.

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 guidance on when to use this tool versus alternatives. For example, it doesn't explain that hash_text is stateless and suitable for verification, while generate_security_report might involve more context.

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

list_resourcesList Resource LibraryA
Read-onlyIdempotent

List books and documents available in the local Talos resource library.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already indicate read-only, idempotent, non-destructive behavior. The description adds the specific scope 'local Talos resource library', providing useful context beyond annotations.

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 a single, clear sentence with no wasted words. It is appropriately front-loaded.

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?

For a simple list tool with no parameters and no output schema, the description adequately conveys the purpose. However, it could mention if the list is paginated or if there are any ordering guarantees.

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?

No parameters exist, so schema coverage is 100%. The description does not need to add parameter details, earning a baseline score of 4.

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 verb 'List' and the resource 'books and documents available in the local Talos resource library'. It distinguishes from siblings like 'list_security_tools' and 'get_resource_page'.

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?

No explicit when or when-not guidelines are provided, but the context implies it should be used to enumerate resources. No alternatives are mentioned.

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

list_security_toolsList Security ToolsA
Read-onlyIdempotent

Search Talos built-in security tools by keyword and optional category. Use this before run_security_tool.

ParametersJSON Schema
NameRequiredDescriptionDefault
searchNoKeyword query, for example port scan, jwt, whois, password strength.
categoryNoOptional Talos category filter.

TDQS

A4/5.0
Behavior3/5

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

Annotations already indicate read-only, idempotent, and non-destructive behavior. The description confirms it is a search operation, adding minimal additional behavioral context beyond annotations.

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 concise sentences with no redundant information. The purpose and usage guidance are front-loaded, making it efficient for an AI agent to parse.

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?

Given the tool's simplicity (search with keyword and optional category) and no output schema, the description is mostly complete. It could briefly mention what the result looks like (e.g., list of tool names), but not strictly necessary.

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?

Input schema provides full descriptions for both parameters (search and category), so the description adds no extra semantics. With 100% schema coverage, a baseline 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?

Description clearly states the tool searches for Talos security tools by keyword and category, and explicitly distinguishes it from the sibling run_security_tool by directing use before invoking that tool.

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 directly says to use this tool before run_security_tool, providing clear context on when to invoke it. It does not explicitly state when not to use it, but the sibling list makes the purpose clear.

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

lookup_ipLookup IPA
Read-onlyIdempotent

Look up geolocation, ISP, ASN, reverse DNS, and reputation indicators for an IP address.

ParametersJSON Schema
NameRequiredDescriptionDefault
ipYesIPv4 or IPv6 address to investigate.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, establishing a safe, read-only operation. The description adds value by specifying what data is returned (geolocation, ISP, ASN, etc.), providing behavioral context beyond annotations.

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 a single sentence that conveys all necessary information without any redundancy or unnecessary words. It is front-loaded with the action and resource, followed by the key outputs.

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?

Despite lacking an output schema, the description lists the main outputs (geolocation, ISP, ASN, reverse DNS, reputation indicators), which is sufficient for the agent to understand what the tool returns. The tool is simple and the description covers its purpose well within the context of its siblings.

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 fully describes the single parameter 'ip' with a clear description ('IPv4 or IPv6 address to investigate') and 100% coverage. The tool description does not add additional meaning to the parameter beyond what the schema provides.

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 verb 'Look up' and resource 'an IP address', and lists specific outputs (geolocation, ISP, ASN, reverse DNS, reputation indicators). This distinguishes it effectively from sibling tools, none of which perform IP lookups.

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 needing IP geolocation or reputation data, but does not explicitly state when to use or not use this tool, nor does it reference alternatives. Since the tool is straightforward, the implied usage is acceptable but lacks explicit guidance.

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

run_security_toolRun Security ToolA

Run one of Talos built-in security tools by exact name. Discover names with list_security_tools first. Defensive use only on authorized systems.

ParametersJSON Schema
NameRequiredDescriptionDefault
argsNoKeyword arguments for the chosen tool.
nameYesExact Talos tool name from list_security_tools.

TDQS

A4.6/5.0
Behavior4/5

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

Annotations (readOnlyHint=false, destructiveHint=false, idempotentHint=false) indicate it's not read-only and may have side effects; the description adds context of defensive use on authorized systems but does not detail potential effects beyond annotations.

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 key action and resource, no redundant words. Efficiently structured.

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?

Given the dynamic output (openWorldHint=true) and no output schema, the return format is not described, but the tool's generic nature makes this somewhat acceptable. Lacks details on execution behavior or error cases.

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 descriptions for both parameters (name required, args optional). The description adds value by specifying exact name and referencing list_security_tools for discovery, enhancing understanding beyond 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?

The description clearly states the tool runs a built-in security tool by exact name, distinguishing it from sibling tools like list_security_tools.

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

Usage Guidelines5/5

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

The description instructs to use list_security_tools for name discovery and specifies 'defensive use only on authorized systems', providing explicit when-to-use and when-not-to-use guidance.

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

self_test_all_toolsSelf-Test All ToolsA
Read-only

Run a Nitro-compatible health check across Talos tools and runtime assumptions. Does not send email unless include_email is explicitly true.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetNoSafe website target for scan tests. Defaults to example.com.
include_emailNoSend a real email as part of the test. Defaults to false to avoid duplicate test messages.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations declare readOnlyHint=true and destructiveHint=false, establishing safety. The description adds the critical caveat about email behavior, which annotations don't cover. This is sufficient beyond the annotations.

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 concise sentences with no filler. The key behavioral note is front-loaded after the main purpose, making it easy to parse.

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?

For a simple health check tool with 2 optional parameters and no output schema, the description covers the basics but lacks detail on what specific tools or assumptions are tested, which would help an agent understand the coverage.

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?

Parameter descriptions in the schema cover 100% of parameters with defaults and semantics. The description adds no extra parameter information beyond what the schema already provides.

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 'Run a Nitro-compatible health check across Talos tools and runtime assumptions', specifying the action and scope. It distinguishes itself from siblings which are individual security tools or checks.

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 notes 'Does not send email unless include_email is explicitly true', providing clear when-not guidance. However, it does not elaborate on when to use this tool versus other monitoring or testing tools.

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

send_report_emailSend Report EmailA

Email the latest generated Talos report, or a report by id. Use this only when the user explicitly asks to email, send, forward, or share the report.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoRecipient email. If omitted, uses SECURITY_ALERT_EMAIL or ALERT_EMAIL.
messageNoOptional extra note to prepend before the report.
subjectNoOptional email subject.
report_idNoReport id from generate_security_report. If omitted, sends the latest report.

TDQS

A3.8/5.0
Behavior2/5

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

Annotations already indicate readOnlyHint=false, openWorldHint=true, so description burden is lower. However, the description adds no additional behavioral context such as what happens on failure, prerequisites, or side effects beyond sending an email.

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 purpose and usage guideline. No extraneous 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?

For a simple email send tool with full schema coverage and annotations, the description covers the core action and usage caveat. Missing details on return value but no output schema exists.

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. Description does not add any parameter information; all parameter details are already in 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?

Description clearly states the verb (email) and resource (latest generated Talos report or by id). It distinguishes from sibling generate_security_report by specifying the email action.

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?

Explicitly states 'Use this only when the user explicitly asks to email, send, forward, or share the report.' Provides clear context but does not mention when not to use or alternatives beyond the sibling list.

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. 13 tool updatesv1.0.0
    • First observedcheck_password_strength
    • First observeddecode_jwt
    • First observedfind_research_papers
    • First observedgenerate_security_report
    • First observedget_defense_status
    • First observedget_resource_page
    • First observedhash_text
    • First observedlist_resources
    • First observedlist_security_tools
    • First observedlookup_ip
    • First observedrun_security_tool
    • First observedself_test_all_tools
    • First observedsend_report_email

TDQS

A4.1/5.0

Scored across 13 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: password analysis, JWT decoding, research, reporting, defense status, resource browsing, hashing, tool discovery, IP lookup, tool execution, self-test, and email. No overlapping functionality.

Naming Consistency5/5

All tools use lowercase with underscores and follow a verb_noun pattern (e.g., check_password_strength, decode_jwt, find_research_papers). Naming is consistent and predictable.

Tool Count5/5

13 tools cover the security analysis and reporting domain without being excessive or insufficient. Each tool serves a specific need.

Completeness4/5

Covers password analysis, JWT, IP lookup, hashing, research, reporting, and tool execution. A minor gap is the lack of a direct CVE lookup tool, but research papers address vulnerability topics.

Maintenance

ActivityStale
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to perform authorized security testing and penetration testing operations including SSL/TLS analysis, port scanning, vulnerability scanning, and HTTP security header audits through natural language interactions.
    1
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables MCP-compatible agents to query security checklists, protocols, and framework mappings to safely build and operate AI agents, with tools for checklist runs, protocol lookup, mapping lookup, and threat search.
    9
    CC BY-4.0