scplus-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OLLAMA_HOST | No | Override Ollama host | |
| OLLAMA_API_KEY | No | Required only if your Ollama setup needs auth | |
| OPENAI_API_KEY | No | Fallback alias for API key | |
| OPENAI_BASE_URL | No | Fallback alias for base URL | https://api.openai.com/v1 |
| OLLAMA_CHAT_MODEL | No | Chat model used in generated config examples | nemotron-3-nano:4b-128k |
| OLLAMA_EMBED_MODEL | No | Ollama embedding model tag | qwen3-embedding:0.6b-32k |
| OPENAI_EMBED_MODEL | No | Fallback alias for embedding model | text-embedding-3-small |
| SCPLUS_EMBED_NUM_CTX | No | Pass num_ctx into Ollama embed options | |
| SCPLUS_EMBED_NUM_GPU | No | Pass num_gpu into Ollama embed options | |
| SCPLUS_EMBED_LOW_VRAM | No | Pass low_vram into Ollama embed options | |
| SCPLUS_EMBED_MAIN_GPU | No | Pass main_gpu into Ollama embed options | |
| SCPLUS_EMBED_PROVIDER | No | Select embedding provider mode: 'ollama' or 'openai' | ollama |
| SCPLUS_OPENAI_API_KEY | No | Preferred OpenAI-compatible API key when provider is 'openai' | |
| SCPLUS_PARENT_POLL_MS | No | Parent-process polling interval | |
| SCPLUS_EMBED_NUM_BATCH | No | Pass num_batch into Ollama embed options | |
| SCPLUS_IDLE_TIMEOUT_MS | No | Idle shutdown timeout for MCP process | |
| SCPLUS_OPENAI_BASE_URL | No | Preferred OpenAI-compatible base URL | https://api.openai.com/v1 |
| SCPLUS_EMBED_BATCH_SIZE | No | Embedding batch size, clamped in code | 8 |
| SCPLUS_EMBED_NUM_THREAD | No | Pass num_thread into Ollama embed options | |
| SCPLUS_EMBED_CHUNK_CHARS | No | Chunk chars before vector merge, clamped in code | 2000 |
| SCPLUS_OPENAI_EMBED_MODEL | No | Preferred OpenAI-compatible embedding model | text-embedding-3-small |
| SCPLUS_MAX_EMBED_FILE_SIZE | No | Max file size for embed-aware search paths | |
| SCPLUS_SCAN_MAX_MS_PER_TICK | No | Max scanner milliseconds per tick | 100 |
| SCPLUS_SCAN_STAT_CONCURRENCY | No | Max concurrent file stat calls per scanner tick | 16 |
| SCPLUS_SCAN_MAX_DIRS_PER_TICK | No | Max directories scanned per bounded watcher tick | 32 |
| SCPLUS_SCAN_MAX_FILES_PER_TICK | No | Max files fingerprinted per bounded watcher tick | 256 |
| SCPLUS_SCAN_RESCAN_INTERVAL_MS | No | Scanner tick interval cap used while watching | 1000 |
| SCPLUS_WATCH_EVENT_PATH_SAMPLE | No | Max changed paths included in one streamed event payload | 100 |
| SCPLUS_WATCH_MAX_PENDING_PATHS | No | Max detailed pending paths before escalating to full rebuild | 5000 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| indexA | Create or refresh the .scplus project state for this repo. Builds the repo-local scplus layout, writes project config plus a context-tree snapshot into the durable sqlite substrate at .scplus/state/index.sqlite, persists stage state, indexing status, embedding caches, restore points, and file/identifier indexes there, and in full mode also persists chunk and code-structure artifacts with explicit contract metadata and no JSON mirrors. |
| validate_indexB | Validate that the prepared sqlite-backed index is present, version-compatible, and internally consistent for core or full mode. |
| repair_indexA | Repair the prepared index by rerunning the full pipeline or a specific durable stage, then validate the repaired state. |
| treeA | Get the structural tree of the project with file headers, function names, classes, enums, and line ranges. Automatically reads 2-line headers for file purpose. Dynamic token-aware pruning: Level 2 (deep symbols) -> Level 1 (headers only) -> Level 0 (file names only) based on project size. |
| symbolA | Run a tiny exact symbol lookup over the prepared fast-query substrate. Use this when you already know the symbol name and want deterministic exact matches instead of ranked related search. |
| wordA | Run a tiny indexed word lookup over paths, headers, symbols, and content snippets. Use this for exact words or short phrases before escalating to broader ranked search. |
| outlineA | Return a compact file outline from the prepared fast-query substrate. Use this when you know the file and want imports, exports, and symbols without broader search or full-body reads. |
| depsA | Return compact direct and reverse dependency information for one indexed file. Use this for exact dependency tracing instead of broader related search. |
| statusA | Return a tiny git worktree status summary for the current repository. Use this for branch and dirty-file checks instead of reading broader change context. |
| changesA | Return a tiny git change summary, optionally for one file. Use this for exact changed-file inspection and line-range summaries instead of broader repository search. |
| researchA | Aggregate ranked code retrieval, structure-backed related files, subsystem summaries, and relevant hubs into one bounded report. Use this for broad subsystem understanding after exact lookup or related-item search is no longer enough. |
| evaluateA | Run the built-in real benchmark harness across small, medium, monorepo, polyglot, ignored-tree, broken-state, and rename-freshness scenarios. Reports golden-query accuracy, validation rates, freshness reliability, and p50/p95/p99 query latency. |
| searchA | Route repository search by explicit intent. Use intent='exact' for deterministic fast-substrate answers when you know the exact symbol or file target, and intent='related' for ranked related-item and pattern discovery over the prepared full-engine artifacts. |
| skeletonA | Get detailed function signatures, class methods, and type definitions of a specific file WITHOUT reading the full body. Shows the API surface: function names, parameters, return types, and line ranges. Perfect for understanding how to use code without loading it all. |
| blast_radiusA | Before deleting or modifying code, check the BLAST RADIUS. Traces every file and line where a specific symbol (function, class, variable) is imported or used. Prevents orphaned code. Also warns if usage count is low (candidate for inlining). |
| lintA | Run the project's native linter/compiler to find unused variables, dead code, type errors, and syntax issues. Delegates detection to deterministic tools instead of LLM guessing. Supports TypeScript, Python, Rust, Go. |
| checkpointA | The ONLY way to write code. Validates the code against strict rules before saving: 2-line header comments, FEATURE tags, max nesting depth, max file length. Creates a shadow restore point before writing. REJECTS code that violates formatting rules. |
| restore_pointsA | List all shadow restore points created by checkpoint. Each point captures the file state before the AI made changes. Use this to find a restore point ID for undoing a bad change. |
| restoreA | Restore files to their state before a specific AI change. Uses the shadow restore point system. Does NOT affect git history. Call restore_points first to find the point ID. |
| clusterA | Browse the codebase by MEANING, not directory structure. Renders persisted semantic clusters, subsystem summaries, and related-file neighborhoods from the full index instead of recomputing them on demand. |
| find_hubA | Obsidian-style feature hub navigator. Hub files are .md files containing [[path/to/file]] wikilinks that act as a Map of Content. Modes: (1) No args = list all hubs plus persisted suggested hubs and feature-group candidates, (2) hub_path or feature_name = show hub with bundled skeletons of all linked files, (3) query = rank candidate hubs by keyword, semantic, or mixed retrieval, (4) show_orphans = find files not linked to any hub. Prevents orphaned code and enables graph-based codebase navigation. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| scplus_mcp_instructions |
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/Cesar514/scplus-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server