Semantic Cache MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOG_LEVEL | No | Logging verbosity (DEBUG, INFO, WARNING, ERROR) | INFO |
| EMBEDDING_MODEL | No | FastEmbed model for search/similarity | BAAI/bge-small-en-v1.5 |
| EMBEDDING_DEVICE | No | Embedding hardware: cpu, cuda (GPU), or auto (detect) | cpu |
| MAX_CONTENT_SIZE | No | Max bytes returned by read operations | 100000 |
| TOOL_OUTPUT_MODE | No | Response detail (compact, normal, debug) | compact |
| MAX_CACHE_ENTRIES | No | Max cache entries before LRU-K eviction | 10000 |
| SEMANTIC_CACHE_DIR | No | Override cache/database directory path | |
| TOOL_MAX_RESPONSE_TOKENS | No | Global response token cap (0 = disabled) | 0 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| readA | Read a file with token-efficient caching. For 2+ files, use Returns full content on first read, Args:
path: File path (absolute or relative to project root). Use absolute
paths for files outside the current project root.
max_size: Maximum content size to return before summarization.
offset: 1-based starting line number for targeted reads. |
| read_imageA | Read an image file and pass the bytes through to the model. Returns an MCP image content block (base64-encoded with mime type) plus a
JSON metadata sidecar. Use this when the model needs to actually see the
image; for any other file type use Images are NOT cached — every call re-reads from disk. Cap is
Args: path: Image file path (absolute or relative to project root). |
| statsA | Inspect cache health, token savings, and runtime diagnostics. Use this for debugging or measurement, not as a normal step in routine read/edit loops. Returns cache occupancy, hit rates, token savings, tool-call counts, embedding model info, and process memory usage. |
| clearA | Clear the semantic cache only; does not modify project files. Use this rarely, mainly to recover from stale cache state or to force cold
re-seeding. Prefer normal Returns the number of cached entries removed. |
| deleteA | Delete one file or one symlink path and evict cache entries for that path. Use this for explicit single-path removal instead of shelling out. Normal statuses:
Constraints:
Args: path: File or symlink path (absolute or relative to project root). dry_run: Preview without deleting or evicting cache. |
| writeA | Create or replace a file. Prefer Overwrites the whole file, or appends with Args:
path: File path to create or replace.
content: Full content to write, or appended content when
|
| editA | Edit one file via exact replacement. For multiple edits to the same file, use Modes: find/replace ( Args: path: File path to modify. old_string: Exact text to find. Omit only for line-range replacement. new_string: Replacement text. replace_all: Replace all matches instead of requiring uniqueness. dry_run: Preview without writing. auto_format: Run formatter after editing. show_diff: Return the diff explicitly for successful deterministic edits. start_line: 1-based inclusive start line for scoped or line-range edit. end_line: 1-based inclusive end line for scoped or line-range edit. |
| edit_previewA | Preview where Returns match count, 1-based line numbers, and small snippets so the
caller can confirm an anchor is unique before committing to Args: path: File path to search. old_string: Anchor text. Must match exactly (whitespace, indentation). |
| batch_editA | Apply multiple exact edits to one file in a single call. Preferred over repeated Supported entry forms:
Behavior:
Args: path: File path to modify. edits: JSON array of edit entries for that file. dry_run: Preview without writing. auto_format: Run formatter after edits. show_diff: Return the diff explicitly for successful deterministic batches. |
| searchA | Find code by meaning when you don't know the exact name to grep for. Use this first for concept-level questions — "where is rate limiting
handled", "what validates the config", "code that retries failed
requests" — where you have intent but not a literal string or symbol.
Once you know the exact token, Ranks cached files by semantic similarity to the query. Operates on
files already seeded via Args: query: Natural-language query, keywords, or a mixture of both. k: Maximum number of matches to return. directory: Optional directory filter applied after retrieval. show_preview: Include match previews explicitly. |
| batch_readA | Read multiple files under a token budget. Use to seed cache before Args: paths: Comma-separated paths, JSON array, or glob patterns. max_total_tokens: Token budget across the batch. priority: Optional paths to read first before the remaining files. |
| globA | Discover files by glob and show which are already cached. Use before Args: pattern: Glob pattern to expand. directory: Base directory for the glob. cached_only: Restrict results to already cached files. |
| grepA | Cache-only ripgrep: exact string/regex with line numbers. Use Args:
pattern: Regex pattern, or a literal if |
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
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/CoderDayton/semantic-cache-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server