Skip to main content
Glama
mfiume

Omics AI MCP Server

by mfiume

Server Quality Checklist

58%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v1.0.0

  • Disambiguation5/5

    Each tool has a clearly distinct purpose with no overlap: counting rows, retrieving schema fields, listing collections, listing tables, querying tables, and executing SQL queries. The descriptions clearly differentiate their functions, making misselection unlikely.

    Naming Consistency5/5

    All tools follow a consistent verb_noun pattern (e.g., count_rows, get_schema_fields, list_collections, list_tables, query_table, sql_search). The naming is uniform and predictable throughout the set.

    Tool Count5/5

    With 6 tools, the set is well-scoped for an Omics AI data exploration server. Each tool serves a specific and necessary function, covering core operations without being overly sparse or bloated.

    Completeness4/5

    The toolset provides comprehensive coverage for data querying and exploration, including listing, querying, and schema inspection. A minor gap exists in data manipulation (e.g., insert/update/delete operations), but the core workflows for analytics are well-supported.

  • Average 2.9/5 across 6 of 6 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 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.

  • 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.json to 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?

    No annotations are provided, so the description carries the full burden. It mentions 'matching given filters' which implies filtering behavior, but doesn't disclose authentication needs (though 'access_token' parameter hints at it), rate limits, performance characteristics, error conditions, or what the return value looks like (just a count number or structured response).

    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, efficient sentence with zero wasted words. It's appropriately sized for a counting operation and front-loads the core functionality immediately.

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

    Completeness2/5

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

    For a tool with 5 parameters, no annotations, and no output schema, the description is inadequate. It doesn't explain the return format (e.g., integer count, JSON structure), error handling, authentication requirements, or how filters work with the table context. The schema handles parameter documentation, but behavioral aspects are largely missing.

    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 5 parameters thoroughly. The description adds minimal value beyond the schema by implying that 'filters' parameter is used for matching rows, but doesn't provide additional syntax, format details, or examples beyond what the schema provides.

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

    Purpose4/5

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

    The description clearly states the verb ('Count') and resource ('rows'), specifying that it counts rows matching given filters. It distinguishes from siblings like 'query_table' or 'sql_search' by focusing on counting rather than retrieving data, but doesn't explicitly differentiate from them in the description text.

    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?

    The description provides no guidance on when to use this tool versus alternatives like 'query_table' or 'sql_search', nor does it mention prerequisites or context for usage. It simply states what the tool does without indicating appropriate scenarios.

    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 are provided, so the description carries the full burden of behavioral disclosure. It states the action ('Get') but doesn't describe what 'schema fields' include (e.g., column names, types, constraints), whether authentication is required (though 'access_token' is optional in schema), or any rate limits or errors. This leaves significant gaps for a tool with no annotation coverage.

    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, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, making it easy to understand at a glance.

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

    Completeness2/5

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

    Given the complexity (4 parameters, no annotations, no output schema), the description is incomplete. It doesn't explain the return format (e.g., JSON structure of schema fields), potential errors, or usage context relative to siblings. For a tool with no structured output or behavioral hints, more detail is needed to guide effective use.

    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 input schema already documents all parameters well. The description doesn't add meaning beyond this, such as explaining relationships between parameters (e.g., how 'network', 'collection_slug', and 'table_name' combine to identify the table). Baseline 3 is appropriate as the schema handles the heavy lifting.

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

    Purpose4/5

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

    The description clearly states the verb ('Get') and resource ('schema fields for a specific table'), making the purpose evident. However, it doesn't distinguish this tool from sibling tools like 'list_tables' or 'query_table', which might also involve schema-related operations, so it lacks sibling differentiation.

    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?

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, such as needing to know the table name from 'list_tables', or contrast it with siblings like 'query_table' for data retrieval versus schema inspection.

    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 provided, the description carries the full burden of behavioral disclosure. It states it lists collections but doesn't mention if this is a read-only operation, requires authentication, has rate limits, or what the output format looks like (e.g., pagination, error handling). This leaves significant gaps for an agent to understand how to invoke it safely and effectively.

    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, efficient sentence that directly states the tool's purpose without any fluff or redundancy. It is front-loaded and appropriately sized, making it easy to parse and understand quickly.

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

    Completeness2/5

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

    Given the complexity of a list operation with authentication parameters and no output schema, the description is incomplete. It doesn't address behavioral aspects like authentication needs, response format, or error handling, which are crucial for an agent to use this tool correctly in context with 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 has 100% description coverage, clearly documenting both parameters ('network' and 'access_token') with examples and requirements. The description adds no additional meaning beyond this, such as explaining parameter interactions or constraints, so it meets the baseline for adequate but not enhanced parameter semantics.

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

    Purpose4/5

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

    The description clearly states the verb 'List' and the resource 'collections available in an Omics AI Explorer network', making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'list_tables', which might list different resources in the same network, leaving some ambiguity about uniqueness.

    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?

    The description provides no guidance on when to use this tool versus alternatives like 'list_tables' or 'query_table'. It lacks context about prerequisites, such as network selection, or exclusions, making it unclear how it fits into the broader toolset.

    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 provided, the description carries the full burden of behavioral disclosure. It states the action but lacks details on permissions (e.g., whether 'access_token' is required for certain networks), output format (e.g., list of table names or full metadata), pagination, or error handling. This leaves significant gaps for a tool with authentication parameters.

    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, efficient sentence that front-loads the core purpose without unnecessary words. It directly states what the tool does, making it easy to parse and understand quickly.

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

    Completeness2/5

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

    Given the lack of annotations and output schema, the description is incomplete. It does not explain what the output looks like (e.g., a list of table names, JSON objects), how authentication works with the 'access_token', or potential limitations (e.g., rate limits, network-specific behaviors). For a tool with authentication and multiple parameters, more context is needed.

    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 three parameters ('network', 'collection_slug', 'access_token') with clear descriptions. The description adds no additional meaning beyond implying the tool operates within a collection, which is redundant with the schema. Baseline 3 is appropriate as the schema does the heavy lifting.

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

    Purpose4/5

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

    The description clearly states the verb ('List') and resource ('tables in a specific collection'), making the purpose immediately understandable. However, it does not explicitly differentiate from sibling tools like 'list_collections' or 'get_schema_fields', which might list different resources or provide schema details instead of table names.

    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?

    The description provides no guidance on when to use this tool versus alternatives. For example, it does not mention that 'list_collections' should be used first to find collections, or that 'get_schema_fields' is for table details rather than listing tables. There is no context on prerequisites or exclusions.

    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 provided, the description carries the full burden of behavioral disclosure. It mentions optional filters and pagination but fails to cover critical aspects like authentication needs (implied by 'access_token' parameter), rate limits, error handling, or return format. For a query tool with 8 parameters, this leaves significant gaps in understanding how the tool behaves in practice.

    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, efficient sentence that front-loads the core purpose ('Query data from a table') and briefly mentions key features ('optional filters and pagination'). There is no wasted verbiage, making it easy to parse quickly.

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

    Completeness2/5

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

    Given the tool's complexity (8 parameters, no annotations, no output schema), the description is inadequate. It doesn't explain authentication requirements, result format, error conditions, or how to interpret parameters like 'filters' or 'order_by'. For a data query tool, this leaves too many operational questions unanswered.

    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 parameters thoroughly. The description adds minimal value by hinting at filters and pagination but doesn't provide additional context beyond what's in the schema (e.g., how filters work, pagination defaults). Baseline 3 is appropriate as the schema does the heavy lifting.

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

    Purpose4/5

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

    The description clearly states the verb ('Query') and resource ('data from a table'), specifying the core action. It distinguishes from siblings like 'count_rows' or 'get_schema_fields' by focusing on data retrieval rather than metadata or aggregation. However, it doesn't explicitly differentiate from 'sql_search', which might also query data, leaving some ambiguity.

    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?

    The description provides no guidance on when to use this tool versus alternatives like 'sql_search' or 'list_tables'. It mentions optional filters and pagination but doesn't specify use cases, prerequisites, or exclusions. This lack of context makes it challenging for an AI agent to choose between sibling tools effectively.

    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 provided, the description carries full burden but only mentions the Trino syntax constraint. It omits critical behavioral details such as authentication needs (implied by access_token parameter but not explained), rate limits, query execution time, error handling, or what happens on failure. This is inadequate for a tool with multiple parameters and potential side effects.

    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, efficient sentence that front-loads the core purpose without unnecessary details. Every word earns its place, making it easy to parse quickly while avoiding redundancy or fluff.

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

    Completeness2/5

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

    Given the complexity of executing SQL queries (with 6 parameters, no output schema, and no annotations), the description is insufficient. It lacks information on return values, error conditions, security implications, or how results are formatted, leaving significant gaps for an AI agent to use this tool effectively.

    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 fully documents all 6 parameters. The description adds minimal value beyond the schema by noting Trino syntax and double quotes for identifiers, but doesn't elaborate on parameter interactions or usage examples. Baseline 3 is appropriate as the schema does the heavy lifting.

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

    Purpose4/5

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

    The description clearly states the action ('Execute a SQL query') and target ('against a collection'), specifying the syntax ('using Trino syntax'). It distinguishes from siblings like count_rows or get_schema_fields by focusing on query execution rather than metadata retrieval, though it doesn't explicitly contrast with query_table which might be similar.

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

    Usage Guidelines2/5

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

    No explicit guidance on when to use this tool versus alternatives like query_table or other siblings. The description implies usage for SQL queries on collections but lacks context on prerequisites, performance considerations, or exclusions, leaving the agent to infer based on tool names alone.

    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

omics-ai-mcp MCP server

Copy to your README.md:

Score Badge

omics-ai-mcp MCP server

Copy to your README.md:

Latest Blog Posts

MCP directory API

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

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mfiume/omics-ai-mcp'

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