Skip to main content
Glama

get_guideline_content

Fetch specific GO-CAM guideline content for biological knowledge representation by providing guideline names from the Noctua MCP Server.

Instructions

Fetch specific GO-CAM guideline content.

Args: guideline_name: Name of guideline file (without .md extension). Use list_guidelines() to see available options.

Returns: Dictionary with guideline content or error message

Examples: # Get a specific guideline content = get_guideline_content("E3_ubiquitin_ligases")

# Get transcription factor guidelines content = get_guideline_content("DNA-binding_transcription_factor_activity_annotation_guidelines")

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
guideline_nameYes

Implementation Reference

  • The handler function for the get_guideline_content MCP tool. It retrieves the content of a specific guideline Markdown file from the local guidelines directory, extracts a description from the first non-empty line, and returns structured data. Includes error handling for missing files and read errors.
    @mcp.tool() async def get_guideline_content(guideline_name: str) -> Dict[str, Any]: """Fetch specific GO-CAM guideline content. Args: guideline_name: Name of guideline file (without .md extension). Use list_guidelines() to see available options. Returns: Dictionary with guideline content or error message Examples: # Get a specific guideline content = get_guideline_content("E3_ubiquitin_ligases") # Get transcription factor guidelines content = get_guideline_content("DNA-binding_transcription_factor_activity_annotation_guidelines") """ file_path = GUIDELINES_DIR / f"{guideline_name}.md" if not file_path.exists(): available = _get_available_guidelines() return { "success": False, "error": f"Guideline '{guideline_name}' not found", "available_guidelines": available, "hint": "Use one of the available guideline names listed above" } try: with open(file_path) as f: content = f.read() # Extract first heading as description lines = content.split('\n') description = "" for line in lines: if line.strip(): description = line.strip('#').strip() break return { "success": True, "guideline_name": guideline_name, "description": description, "content": content, "length": len(content) } except Exception as e: return { "success": False, "error": f"Failed to read guideline: {str(e)}", "guideline_name": guideline_name }
  • Constant defining the path to the guidelines directory, used by get_guideline_content and related functions to locate guideline files.
    GUIDELINES_DIR = Path(__file__).parent / "guidelines"
  • Helper function that lists the names of available guideline Markdown files in the GUIDELINES_DIR, used in error responses of get_guideline_content.
    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")])
  • The @mcp.tool() decorator that registers the get_guideline_content function as an MCP tool.
    @mcp.tool()

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