Meeba Brain

Repository knowledge graph MCP server for codebase understanding and debugging.

Should I use this

Quality & Safety

A
Description quality
96%
Schema completeness
100%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~919Tokens (tool definitions)
~1.1 KBTypical response size
Moderate attention impact (0.72% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "meeba-brain": {
      "url": "https://meeba-context-mcp-469248886325.us-central1.run.app/mcp"
    }
  }
}

Remote endpoints

https://meeba-context-mcp-469248886325.us-central1.run.app/mcpstreamable-http

What it can do

Tool inventory

Tools (5)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢search_code(query, top_k)

Hybrid semantic + keyword search over the connected repository's actual indexed content. Use this for open-ended questions ("where is rate limiting implemented?", "how are uploads validated?") where you don't already know an exact symbol or file name -- for those, use get_symbol_definition or get_dependencies instead, they're more precise.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Natural-language or keyword description of what you're looking for."
    },
    "top_k": {
      "default": 8,
      "type": "integer",
      "description": "Max number of results to return (default 8, max 20)."
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "x-fastmcp-wrap-result": true
}
🟢get_symbol_definition(name)

Finds where a function, class, or method is actually defined in this repo -- exact file, line range, and signature-relevant metadata (async, decorators, docstring if present). Use this before assuming a symbol's location/signature from memory or from a similarly-named symbol in a different file.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "The bare symbol name (e.g. \"get_upstream_impact\"), or\n\"ClassName.method_name\" for a specific method when the bare\nname is ambiguous across multiple classes."
    }
  },
  "required": [
    "name"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "x-fastmcp-wrap-result": true
}
🟢get_callers(function_name)

Every place in this repo that calls the given function or method -- a COMPLETE list from the parsed call graph, not a best-effort guess. Use this before renaming/changing a function's signature, or when you need to understand a function's blast radius before modifying it.

Input Schema

{
  "type": "object",
  "properties": {
    "function_name": {
      "type": "string",
      "description": "The bare function/method name (e.g. \"save_user\").\nIf multiple unrelated symbols share this name, results are\ngrouped by which definition they call."
    }
  },
  "required": [
    "function_name"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "x-fastmcp-wrap-result": true
}
🟢get_callees(function_name)

Every function/method the given function calls -- what it depends on to do its job. Use this to understand a function's behavior by seeing what it delegates to, before assuming what it does from its name alone.

Input Schema

{
  "type": "object",
  "properties": {
    "function_name": {
      "type": "string",
      "description": "The bare function/method name (e.g. \"sync_repository\")."
    }
  },
  "required": [
    "function_name"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "x-fastmcp-wrap-result": true
}
🟢get_dependencies(file_path)

What a specific file imports/depends on. Use this to understand a file's place in the codebase before assuming what's available to it, or before moving/refactoring it.

Input Schema

{
  "type": "object",
  "properties": {
    "file_path": {
      "type": "string",
      "description": "Repo-relative path (e.g. \"utils/knowledge_graph/graph_builder.py\").\nMatches by exact path first, then by suffix if no exact match\n(so \"graph_builder.py\" alone will still resolve if unambiguous)."
    }
  },
  "required": [
    "file_path"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "x-fastmcp-wrap-result": true
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded5 tools
verifiedversion not recorded5 tools
verifiedversion not recorded5 tools