Skip to main content
Glama
geneontology

Noctua MCP Server

Official
by geneontology

list_guidelines

Retrieve available GO-CAM guideline documents to access biological modeling standards and protocols for Gene Ontology Causal Activity Models.

Instructions

List all available GO-CAM guideline documents.

Returns a list of available guideline names that can be accessed using the get_guideline_content tool.

Returns: Dictionary with 'guidelines' key containing list of available guidelines

Examples: # List all available guidelines result = list_guidelines() for guide in result['guidelines']: print(guide)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • The handler function for the 'list_guidelines' MCP tool. It lists available GO-CAM guideline Markdown files from the guidelines directory by calling the helper _get_available_guidelines() and formats the result as a dictionary.
    @mcp.tool()
    async def list_guidelines() -> Dict[str, Any]:
        """List all available GO-CAM guideline documents.
    
        Returns a list of available guideline names that can be accessed
        using the get_guideline_content tool.
    
        Returns:
            Dictionary with 'guidelines' key containing list of available guidelines
    
        Examples:
            # List all available guidelines
            result = list_guidelines()
            for guide in result['guidelines']:
                print(guide)
        """
        guidelines = _get_available_guidelines()
    
        return {
            "guidelines": guidelines,
            "count": len(guidelines),
            "note": "Use get_guideline_content(guideline_name) to fetch any guideline"
        }
  • Helper utility function that returns a sorted list of available guideline filenames (without .md extension) by globbing the GUIDELINES_DIR directory.
    def _get_available_guidelines() -> List[str]:
        """Get list of available guideline files."""
        if not GUIDELINES_DIR.exists():
            return []
        return sorted([f.stem for f in GUIDELINES_DIR.glob("*.md")])
  • Definition of GUIDELINES_DIR path, used by list_guidelines and related tools to locate the guideline Markdown files.
    # Path to guidelines directory
    GUIDELINES_DIR = Path(__file__).parent / "guidelines"
  • The @mcp.tool() decorator registers the list_guidelines function as an MCP tool with FastMCP.
    @mcp.tool()
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 discloses the return format (a dictionary with a 'guidelines' key) and includes an example, which adds useful behavioral context. However, it lacks details on potential limitations like pagination, error handling, or performance characteristics, leaving some behavioral aspects unspecified.

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 well-structured and front-loaded, starting with the core purpose, followed by return details and an example. Every sentence adds value: the first states the action, the second explains the output and links to a sibling tool, and the example illustrates usage without unnecessary elaboration.

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 the tool's simplicity (0 parameters, no annotations, but with an output schema implied by the return description), the description is complete. It covers purpose, output format, usage guidance, and provides an example, which is sufficient for an agent to understand and invoke this tool correctly in context.

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?

The tool has 0 parameters, and schema description coverage is 100%, so no parameter documentation is needed. The description appropriately focuses on output and usage without redundant parameter details, earning a high baseline score for this dimension.

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's purpose with a specific verb ('List') and resource ('all available GO-CAM guideline documents'), distinguishing it from siblings like 'get_guideline_content' (which retrieves content) and other tools focused on adding/removing entities or searching. It explicitly identifies the resource type and scope.

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 provides explicit usage guidance by stating when to use this tool (to list available guideline names) and when to use an alternative ('get_guideline_content' to access content). It clearly differentiates this tool's role from its sibling, offering direct context for selection.

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

Install Server

Other Tools

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/geneontology/noctua-mcp'

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