furl-ctx
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FURL_MCP_READ | No | Enable the furl_read MCP tool (set to 1 to enable). Default is 0 (disabled). | 0 |
| FURL_HOOK_ENABLED | No | Disable the auto-compression hook entirely (set to 0 to disable). Default is 1 (enabled). | 1 |
| FURL_PRETOOL_PIPE | No | Disable the PreToolUse pipe for Bash outputs (set to 0 to disable). Default is 1 (enabled). | 1 |
| FURL_CCR_TTL_SECONDS | No | Time-to-live for stored compressed entries in seconds. Default is 86400 (24 hours) for the plugin; a bare MCP server without this variable uses 1 hour session TTL. | 86400 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| furl_compressA | Compress content to save context window space. Use this on large tool outputs, file contents, search results, or any content you want to shrink before reasoning over it. The original is stored and can be retrieved later via mcp__furl__furl_retrieve. Returns compressed text + a hash for retrieval. Optional 'mode' controls aggressiveness; optional include/exclude patterns limit which lines are compressed. |
| furl_retrieveA | Retrieve original uncompressed content by hash. Use this when you need full details from previously compressed content. The hash comes from furl_compress results or from compression markers like [N items compressed... hash=abc123]. Two extra modes: (1) OMIT hash and pass query to search across ALL stored entries (returns ranked hash/score/preview matches to retrieve individually); (2) pass hash with pattern/fields/line_range, or a select_field row-filter (keep the rows of a JSON array by exact value or numeric range), to project just part of the original. Filters cannot be combined with query. Examples: furl_retrieve(hash) -> the whole original; furl_retrieve(hash, pattern="ERROR") -> only the matching lines; furl_retrieve(hash, select_field="id", select_equals=42) -> the rows where id==42. |
| furl_statsA | Show compression statistics. Two clearly-labeled scopes: (1) this-server-process counters — compressions, tokens saved, estimated cost savings, and recent events done by THIS process; and (2) a live 'store' section derived from the shared CCR store for this namespace — live_entries, original vs compressed bytes and tokens, estimated tokens saved, and oldest/newest entry age. The store section reflects entries written by ALL processes (including the PostToolUse hook and sub-agents), so it stays truthful even when this server process compressed nothing. |
| furl_purgeA | Permanently erase stored originals from the CCR store — the data-erase escape hatch (offloaded content otherwise persists for the session TTL). Pass EXACTLY ONE of: 'hash' (delete one entry by its CCR hash) or 'all'=true (wipe every entry). Returns how many entries were deleted. A hash that is already absent deletes nothing and is not an error. There is no undo. |
| furl_searchA | Find stored originals by a case-insensitive SUBSTRING of their content — for when you lost a <ccr:HASH> marker but remember some of the text. Returns per hit: hash, a short preview around the match, created-at, and size (characters), newest first. Substring only (NOT a regex). Then call furl_retrieve with a returned hash for the full original. |
| furl_listA | List stored CCR entries, newest first — a directory of what furl_compress / furl_read have stashed this session. Returns per entry: hash, created-at, age (humanized time since storage), ttl (the entry's retention window), expires_in (humanized time left before the TTL evicts it, e.g. "23h"), size (characters), content-kind (the originating tool, when known), and a short preview. Page with limit/offset. Use furl_retrieve with a hash for the full original, or furl_search to find by content. |
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/omar-y-abdi/furl-ctx'
If you have feedback or need assistance with the MCP directory API, please join our Discord server