Skip to main content
Glama

get_principle

Retrieve detailed information about a specific principle to support decision-making and alignment checks within AI agent conversations.

Instructions

Get detailed info about a specific principle.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYes

Implementation Reference

  • The `get_principle` function is defined as an MCP tool (decorated with @mcp.tool()) in `brain_mcp/server/server.py`. It retrieves principles using `get_principles()` and searches for a specific principle by name, returning its definition, description, formula, and applications if found.
    @mcp.tool()
    def get_principle(name: str) -> str:
        """
        Get detailed info about a specific principle.
        """
        principles = get_principles()
        if not principles:
            return "No principles configured."
    
        section = principles.get("principles", principles)
        name_lower = name.lower()
    
        if isinstance(section, list):
            for p in section:
                if isinstance(p, dict):
                    p_name = p.get("name", "").lower()
                    if name_lower in p_name:
                        output = [f"## {p.get('name', 'Unknown')}\n"]
                        if "definition" in p:
                            output.append(f"**Definition**: {p['definition']}\n")
                        if "description" in p:
                            output.append(f"**Description**: {p['description']}\n")
                        if "formula" in p:
                            output.append(f"**Formula**: `{p['formula']}`\n")
                        if "applications" in p:
                            output.append("### Applications")
                            for app in p["applications"]:
                                output.append(f"- {app}")
                        return "\n".join(output)
    
        elif isinstance(section, dict):
            for key, principle in section.items():
                if isinstance(principle, dict):
                    p_name = principle.get("name", "").lower()
                    if name_lower in p_name or name_lower in key.lower():
                        output = [f"## {principle.get('name', key)}\n"]
                        if "definition" in principle:
                            output.append(f"**Definition**: {principle['definition']}\n")
                        if "core_formula" in principle:
                            output.append(f"**Formula**: `{principle['core_formula']}`\n")
                        if "applications" in principle:
                            output.append("### Applications")
                            apps = principle["applications"]
                            if isinstance(apps, dict):
                                for domain, app in apps.items():
                                    output.append(f"\n**{domain}**:")
                                    if isinstance(app, dict):
                                        for k, v in app.items():
                                            output.append(f"- {k}: {v}")
                                    else:
                                        output.append(f"- {app}")
                            elif isinstance(apps, list):
                                for app in apps:
                                    output.append(f"- {app}")
                        return "\n".join(output)
    
        return f"Principle '{name}' not found."

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/mordechaipotash/brain-mcp'

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