SEOSiri Data Pipeline MCP
Server Quality Checklist
Latest release: v1.0.3
- Disambiguation5/5
Each tool targets a distinct stage or mode (source-specific fetch, real-time ingest, batch ingest, processing, export, summary retrieval, payload validation) with minimal conceptual overlap. The descriptions clearly separate concerns, making tool selection unambiguous.
Naming Consistency5/5All tool names follow a consistent verb_noun pattern in snake_case (fetch_, ingest_, process_, export_, retrieve_, sanitize_and_validate_). The compound verb in sanitize_and_validate_payload is a minor deviation but still fits the pattern and is readable.
Tool Count5/57 tools is well-scoped for a data pipeline server, covering ingestion (real-time and batch), processing, export, summary retrieval, and validation. Each tool serves a clear purpose without unnecessary bloat.
Completeness4/5The core pipeline lifecycle (ingest -> process -> export -> summarize) is covered, plus validation. A notable gap is the lack of a tool to retrieve raw processed records directly; only aggregated statistics are available via retrieve_analytical_summary, which may hinder granular data access needs.
Average 3.1/5 across 7 of 7 tools scored. Lowest: 2.4/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 47 commits in the last 12 weeks
- Last stable release on
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI is passing
This repository is licensed under MIT License.
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.
This repository includes a glama.json configuration file.
This server has been verified by its author.
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, the description must disclose behavioral traits. It states validation against OWASP and compliance profiles but does not explain side effects (e.g., whether it modifies the payload, returns a pass/fail, or provides details). The lack of sanitization mention is a gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The single-sentence description is concise but omits critical details (sanitization, parameters). It front-loads a branded epithet ('Universal Security Gatekeeper') which adds little value. Balance between brevity and completeness is suboptimal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (2 parameters, output schema exists but not shown), the description fails to mention return values or behavior changes based on profiles. It does not address what 'OWASP rules' or 'compliance profiles' entail, leaving significant gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so description must compensate. It does not explain the purpose of either parameter (proposed_payload, active_profiles_csv) beyond the generic verb 'validates'. No format expectations, allowed values, or behavior of the default profile are provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it validates payloads against OWASP rules and compliance profiles, matching the tool name's validation aspect. However, it omits mention of sanitization, which is part of the tool name, slightly reducing clarity.
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?
No guidance on when to use this tool versus alternatives. No when-not conditions, prerequisites, or context for choosing this over sibling tools. The description is purely declarative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavior. It implies a read-only operation by using 'retrieves' and mentions auth context ('secure, synchronized OAuth credentials in Supabase'), but it does not state whether any data is modified, how the tool handles rate limits, or what constitutes 'active' contacts. This is limited 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 a single sentence that is concise and front-loaded with the core purpose. The phrase 'CRM Data Fetcher' is somewhat redundant given the tool name, and 'Automatically' adds little, but overall it is efficient without unnecessary verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has an output schema, so return values are covered, but the description lacks crucial usage context such as parameter behavior and when to invoke it. Given the simple parameter set, the description is too sparse to be considered complete for an agent to reliably select and invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage and the description does not mention the 'limit' parameter at all. Since the description must compensate for missing schema details and fails to do so, it provides no additional semantic meaning for the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves active customer contacts from HubSpot using OAuth credentials in Supabase, providing a specific verb and resource. However, it does not explicitly distinguish itself from sibling tools such as ingest_realtime_webhook or export_to_data_warehouse, so it falls short of a 5.
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 gives no guidance on when to use this tool versus alternatives like ingest_batch_api_poll or retrieve_analytical_summary. It does not mention prerequisites, exclusions, or preferred scenarios, leaving the agent without usage context.
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?
With no annotations, the description carries the behavioral burden. It discloses meaningful behaviors: PII redaction and mapping unique stitched identities. However, it omits important details such as idempotency, potential side effects, storage overwrite behavior, or failure handling. The claim 'instantly' is vague but adds some context.
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 composed of two concise sentences with no filler. It is front-loaded with the primary purpose, followed by secondary processing details. Every sentence adds value, though the second sentence could be more specific about what 'maps unique stitched identities' means.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with four required parameters, no annotations, and an output schema, the description is incomplete. It does not explain how parameters relate to the ingestion process, what the output contains, or any failure/retry behavior. The presence of an output schema reduces the need to describe return values, but the absence of parameter semantics and usage guidance makes the tool hard to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has four required parameters (crm_lead_id, email_address, payload_json, source_platform) with 0% description coverage. The tool description does not mention any of these parameters, their purpose, or expected format. This is a critical gap since the schema alone only lists names and types without additional meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it 'Ingests heavy, non-real-time data (CRM profiles) directly to on-disk Cold Storage.' The verb 'ingests' and resource 'Cold Storage' are specific, and the phrase 'non-real-time' distinguishes it from the sibling tool 'ingest_realtime_webhook'. However, the name includes 'api_poll' but the description does not mention polling, which is a minor gap.
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 description implies usage for batch, non-real-time data, which contrasts with the realtime sibling tool, but it does not explicitly state when to use this tool vs alternatives or include any exclusions. There is no mention of prerequisites or conditions, leaving the application context partially inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must fully disclose behavior. It states it queries both tiers (implying a read operation) but omits side effects, authorization needs, rate limits, cost implications, or data availability expectations.
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 a single sentence with no filler. Every word contributes to understanding the core function.
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?
Given the simplicity (1 parameter, output schema exists), the description is minimally adequate. However, it lacks guidance on usage and parameter semantics, leaving gaps for an agent to correctly invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so description must compensate. The only parameter 'subject_segment' is not explained beyond the schema's type and title; the description adds no meaning about expected format, allowed values, or purpose.
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 ('queries and aggregates') and resource ('statistics across both Hot Tier (RAM) and Cold Tier (Disk)'), distinguishing it from sibling tools that focus on ingestion, processing, or export.
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?
No guidance on when to use this tool versus alternatives. The description does not mention prerequisites, exclusions, or context for selection among siblings like fetch_hubspot_contacts or export_to_data_warehouse.
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?
With no annotations, the description must disclose all behavioral traits. It clearly states the migration action and transformations, but does not note whether the source Hot Tier data is deleted, whether the operation is idempotent, or any required permissions. This leaves significant behavioral ambiguity.
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 a single concise sentence that packs the main action and three sub-operations. It is front-loaded and free of redundant words.
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 gives a solid overview but omits important operational details such as idempotency, source data retention, and parameter semantics. With no annotations and a simple schema, the description should provide more completeness for a migration tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has a single parameter (max_batch_size) with no description, and the tool description does not explain its meaning or effect. The parameter name is somewhat self-explanatory, but without explicit guidance, the agent cannot infer how batch size impacts the migration.
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 tool's primary function: migrating Hot Tier events to Cold Storage. It also lists specific operations (ID stitching, PII anonymization, priority scoring), which distinguishes it from sibling ingestion/export tools.
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 provides no guidance on when to use this tool versus alternatives like ingest_batch_api_poll or export_to_data_warehouse. It lacks any context or prerequisites for invoking the migration.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- 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 of behavioral disclosure. It clearly states that the export is 'simulated,' indicating no actual write occurs, and that data goes 'directly' to the warehouse, implying a single-hop transfer. It also reveals the source and destination types. While it doesn't mention permissions or rate limits, the simulated nature implies minimal side effects, providing meaningful transparency beyond the schema.
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 a single, dense sentence that front-loads the action verb and packs in all essential context: the simulated nature, data transformations, source, and destination. There is no redundant or filler content, and the structure is 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.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has an output schema, so return values are covered. The description provides a solid high-level overview and context (pipeline stage, destination). However, parameter semantics are incomplete, especially for 'max_records,' and while the warehouse options listed help with 'target_warehouse,' the connection is not explicit. Overall completeness is adequate but leaves important gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description gives zero explanation of the parameters. It does not mention 'target_warehouse' or 'max_records,' nor does it clarify their purpose. Schema coverage is 0%, so the description offers no help beyond the raw property definitions. Even the optional max_records, which controls record count, is entirely ignored, making it impossible for an agent to understand parameter semantics from the description.
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 tool's function: simulating an export from the Cold Storage DB to an enterprise data warehouse. It specifies the action (exporting), the source (Cold Storage DB), the data characteristics (anonymized, prioritized, stitched), and the destination (Snowflake/ClickHouse/BigQuery). This distinguishes it from sibling ingest/fetch tools by indicating a data egress operation.
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?
Usage context is implied through the description's references to 'anonymized, prioritized, and stitched' data, suggesting it should be used after pipeline processing steps. However, there is no explicit guidance on when to choose this tool over alternatives, nor exclusions or prerequisites. The lack of explicit when-to-use guidance keeps it at a mid-level score.
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?
It discloses a key behavioral trait: it verifies webhook authenticity via HMAC-SHA256. However, it does not explain what happens on invalid signatures, retries, idempotency, or other operational behaviors, which is a gap given there are no annotations to cover the safety profile.
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 concise: two sentences, front-loaded with purpose and key detail. It wastes no words and is easy to scan.
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?
The output schema exists to describe returns, and the description covers core purpose, destination, and authentication. It lacks details like failure handling or parameter specifics, but it provides enough for an agent to locate and invoke the tool correctly. It is more complete than typical descriptions in this set.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description indirectly clarifies parameters: event_type is the kind of event, source_platform might be CMS/email/social, payload_json is the event data, and hmac_signature is the auth key mentioned in HMAC-SHA256. Yet it does not explicitly map these, leaving room for misinterpretation, especially with 0% schema coverage.
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 identifies the tool's function: it ingests high-velocity real-time events (CMS, email opens, social mentions) into the Hot Tier. This specific verb-resource pair and the real-time vs batch distinction differentiate it from sibling tools like ingest_batch_api_poll.
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 description implies the tool is for real-time webhook ingestion ('high-velocity, real-time events') and verifies authenticity, which gives context for when to use it. However, it does not explicitly mention alternatives, exclusions, or when not to use it, leaving some ambiguity.
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/SEOSiri-Official/lambda-data-pipeline-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server