mcp-peek
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PEEK_FILES_ROOT | No | restricts multipart.files.<name>.path, download_to, and save_to to canonical paths under this prefix; unset means no constraint. Does not apply to multipart.files.<name>.content_base64 (no path involved) | |
| PEEK_TLS_INSECURE | No | skip TLS verification | 0 |
| PEEK_JQ_TIMEOUT_MS | No | per-mask jq timeout | 5000 |
| PEEK_USE_NATIVE_JQ | No | switch to subprocess jq (reserved, not heavily exercised) | 0 |
| PEEK_INLINE_BODY_CAP | No | hard cap on body_mode: inline (256 KB) | 262144 |
| PEEK_SCHEMA_MAX_DEPTH | No | recursion depth for schema renderers | 10 |
| PEEK_CACHE_TTL_SECONDS | No | cache entry lifetime (10 min) | 600 |
| PEEK_DEFAULT_TIMEOUT_MS | No | per-request HTTP timeout | 30000 |
| PEEK_HEAD_PREVIEW_ITEMS | No | array items kept verbatim in body_preview (rest collapsed) | 5 |
| PEEK_MAX_RESPONSE_BYTES | No | hard cap on cached body size (50 MB) | 52428800 |
| PEEK_HEAD_PREVIEW_STRING | No | string truncation length in body_preview | 200 |
| PEEK_MAX_INLINE_FILE_BYTES | No | hard cap on multipart.files.<name>.content_base64 (10 MB pre-base64) | 10485760 |
| PEEK_HEAD_PREVIEW_THRESHOLD | No | body_mode: auto upgrades to head below this; otherwise schema | 65536 |
| PEEK_INLINE_THRESHOLD_BYTES | No | body_mode: auto upgrades to inline below this | 8192 |
| PEEK_SCHEMA_MAX_OBJECT_KEYS | No | per-object key cap | 200 |
| PEEK_SCHEMA_SAMPLE_MAX_STRING | No | string truncation in samples | 100 |
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 | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| http_requestA | Perform an HTTP request and return a compact schema of the response, not the full body. Default flow (use this for any non-trivial response): (1) call http_request to get { schema, cache_id }; (2) call http_read with cache_id and a jq mask to extract only the field(s) you need. This keeps your context small even on multi-MB responses. body_mode controls how much of the body comes back inline: schema (no body — schema only) head (schema + truncated preview of arrays/strings — middle ground) inline (schema + full body — costly; capped by PEEK_INLINE_BODY_CAP) auto (default — server picks based on byte thresholds) Reach for inline ONLY when body is known-small AND every field is needed; a 200KB JSON inlined is ~12K tokens of context for data you may never use. Multipart uploads stream files via chunked transfer encoding (no Content-Length). Most servers accept this; some legacy proxies / primitive test servers reject it. Cookbook: • Explore an unknown endpoint: http_request {method: "GET", url} → schema shows what is there http_read {cache_id, mask: ".data | map({id, name})"} • Top 10 GitHub issues by comment count: http_request {method: "GET", url: "https://api.github.com/repos/OWNER/REPO/issues"} http_read {cache_id, mask: "sort_by(-.comments)[:10] | .[] | {id, title, comments}"} |
| http_readA | Read a cached response body, optionally filtered through a jq mask. Tip: lead with |
| http_inspectA | Re-render the cached response schema in a different format (paths | shape | sample | json_schema) without making a second HTTP call. Try |
| server_infoA | Debug helper. No params. Returns the current mcp-peek version, runtime detection (npx | docker | unknown), cwd, files_root (PEEK_FILES_ROOT, or null when unset), and an effective_limits object summarising every configured cap / threshold / timeout (15 fields — see README for the full list). Use when a path is rejected unexpectedly, or to confirm which container/host the server is actually running in. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 4 tools
Each tool targets a distinct action: http_request makes a request and returns schema, http_read reads cached body with jq masking, http_inspect re-renders cached schema in different formats, and server_info provides debug metadata. No overlap.
All tool names follow a consistent lowercase_underscore pattern (http_inspect, http_read, http_request, server_info), making them predictable and easy to distinguish.
Four tools is well-scoped for a server focused on HTTP inspection and caching. Each tool earns its place, covering the core workflow without unnecessary bloat or gaps.
The tool set covers the full intended workflow: make a request, inspect schema, read cached body with jq filtering, re-render in alternative formats, and debug server state. Minor cache management features are absent but not essential for the server's stated purpose.