Suitable Loop
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| index_codebaseA | Index a Python codebase. Parses all .py files, extracts functions, classes, imports, and call relationships. Builds a semantic graph for querying. Use force=True to re-index even unchanged files. |
| query_entity | Look up a function, class, or file by name. Returns details and all relationships (callers, callees, file location, complexity). |
| find_callersC | Find all functions that call the given function. |
| find_callees | Find all functions called by the given function. |
| dependency_treeC | Get the import dependency tree for a file, up to N levels deep. |
| search_codeB | Full-text search across indexed functions and classes. |
| complexity_report | Get the most complex functions in the indexed codebase, ranked by cyclomatic complexity. |
| codebase_summary | High-level summary of the indexed codebase: file count, function count, class count, average complexity, most-connected modules. |
| analyze_recent_changes | Analyze recent git commits and score them by risk. Risk factors include complexity delta, blast radius, churn rate, lines changed, and file count. Returns commits sorted by risk score (highest first). |
| analyze_commit | Deep-dive a single git commit. Shows changed files, complexity delta per file, blast radius, and detailed risk breakdown. |
| hotspot_reportB | Find code hotspots — files that change frequently AND are highly depended upon. These are the highest-risk areas of the codebase. |
| blast_radius | Calculate the blast radius of a file — how many other files and functions are transitively affected if this file breaks. |
| ingest_logsA | Parse and store a log file or directory of log files. Auto-detects format (Python stdlib logging or JSON-per-line). Extracts errors, groups them by signature, and maps stack frames to indexed code. |
| get_error_groupsB | List all distinct error groups sorted by frequency. Each group includes exception type, occurrence count, and links to affected code. |
| error_detailA | Get full detail on an error group: traceback, affected functions, sample log entries, and timeline. |
| correlate_error | Given a raw error or traceback text, find the relevant code paths in the indexed codebase. Useful for investigating production errors. |
| error_timeline | Show error frequency over time, grouped by error type. Useful for spotting trends and regressions. |
| status | Get Suitable Loop server status: indexed projects, database size, entity counts, and last index time. |
| reindex | Re-index only changed files in a project (uses content hashing to detect changes). Faster than a full index_codebase with force=True. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/suitable-adventures/suitable-loop'
If you have feedback or need assistance with the MCP directory API, please join our Discord server