Arcanna Input MCP Server
Server Quality Checklist
Latest release: v0.0.6
- Disambiguation4/5
Tools are mostly distinct: listing jobs, health check, and two event-sending variants. The two send tools are similar but clearly differentiated by the presence of an optional event_id. Some potential for confusion but descriptions clarify.
Naming Consistency3/5Names use snake_case but patterns vary: 'get_external_input_jobs' is verb_noun, 'health_check_input_server' is noun_verb_noun, while the send tools follow verb_noun_prep_noun. Inconsistent use of singular/plural ('jobs' vs 'job').
Tool Count5/5Four tools are well-scoped for an input server: one to list available jobs, one for health check, and two for sending events (with/without custom ID). No unnecessary tools.
Completeness4/5Covers core operations: listing jobs, health check, and event ingestion. Missing functionality like retrieving event status or updating/deleting events, but these may be out of scope for an input-focused server.
Average 3.9/5 across 4 of 4 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 0 commits in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI status not available
This repository is licensed under Apache 2.0.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must fully convey behavioral traits. It mentions that Arcanna generates a new internal ID, but it does not disclose potential side effects, required permissions, rate limits, or the impact of sending data. The error-handling note is helpful but insufficient for full transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the purpose, followed by an error-handling note, then a parameter list. It is relatively concise, though the 'Parameters:' header and empty line add slight redundancy. The structure is clear but could be tighter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description includes return value details despite no output schema, which is good. However, it does not specify the expected format or keys for the event dictionary, leaving ambiguity for nested objects. It also fails to differentiate from sibling tools or explain prerequisites. Overall, adequate for a simple tool but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, but the description adds meaning: job_id as 'Unique identifier for the external input job' and event as 'A raw dictionary containing event/alert/incident data.' This compensates for the missing schema descriptions and provides clarity beyond the titles.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: send a JSON event payload to Arcanna for a decision, generating a new internal ID. This distinguishes it from the sibling tool 'send_event_with_id_to_external_input_job', which presumably takes an existing ID. The verb and resource are specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
While the description provides an error-handling instruction ('do not use any other tool, ask the user'), it lacks explicit guidance on when to use this tool versus the sibling tools. It implies use for new events without an ID, but this is not directly stated. No exclusions or alternatives are described.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states that the tool sends data to Arcanna and returns a dict with status and error_message, implying mutation and potential failure. However, it does not disclose authorization requirements, rate limits, idempotency, or whether it is destructive. The description is adequate but not thorough given the lack of annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear summary sentence followed by 'Parameters:' and 'Returns:' sections using bullet points. It is front-loaded with the main purpose. However, the parameter descriptions are redundant with the argument list (though needed due to schema deficiencies), and the return section could be slightly more concise. Still, it earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains all parameters and the return value, which is helpful. However, it assumes the agent knows that job_id must correspond to an existing external input job (presumably retrievable via 'get_external_input_jobs'), and it does not mention any dependencies or setup steps. The return value includes error_message but no explanation of error handling. Given the tool's complexity (3 required params, nested object), it is partially complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage, meaning it provides no descriptions for parameters. The tool's description explicitly describes each parameter (job_id as int referencing an external input job, event as raw dict, event_id as unique identifier), adding significant meaning beyond the schema. It also details the return value structure, which is absent from any output schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Send') and the resource ('a JSON security alert/incident/event to Arcanna for ingestion'). It distinguishes from the sibling 'send_event_to_external_input_job' by including 'with_id' in the name and describing the event_id parameter, indicating this variant allows sending with a specific event identifier.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide any guidance on when to use this tool versus the sibling 'send_event_to_external_input_job' (without event_id). It lacks context on prerequisites (e.g., needing to obtain a job_id from 'get_external_input_jobs') or when not to use it. 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.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility. It explains the return dict and the meaning of the 'status' field, which helps the agent understand outcomes. However, it does not disclose potential side effects, auth requirements, 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise: two short paragraphs with no wasted words. The purpose is front-loaded, and the return details are clearly separated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple health check tool with no parameters and no output schema, the description sufficiently explains the return value. It could mention authentication implications, but the current level is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the description does not need to add parameter-level information. The baseline score of 4 is appropriate as it is not missing any parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Health check' and the resource 'Arcanna Input API Server'. This distinguishes it from sibling tools like get_external_input_jobs or send_event_to_external_input_job, which deal with jobs and events.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The purpose is self-evident as a health check, but there is no explicit guidance on when to use it versus alternatives, nor any when-not conditions. The description implies usage for verifying server status but lacks clarity on decision boundaries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It describes the return type and fields in detail, implying a read operation. However, it does not explicitly state the absence of side effects, auth requirements, or potential errors (e.g., empty result set).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with bullet points and front-loaded purpose. Slightly verbose in the return list but each element adds value. Could be slightly more concise, but effective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Comprehensive for a zero-parameter tool with no output schema. Provides detailed return field descriptions, clear usage guidelines, and sufficient context to understand when to invoke.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters, schema_description_coverage is 100%, so baseline is 4. The description adds context about what the tool returns, which is appropriate since the schema is empty.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Retrieve Arcanna External Input Jobs' and explains the specific resource. It distinguishes from sibling tools by specifying when to use, using specific verb and resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use scenarios with examples, and clearly lists cases where the tool should NOT be used, directing to a different tool for general job listing. This helps the agent avoid misuse.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/siscale/arcanna-mcp-input-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server