Skip to main content
Glama
Miyamura80

agent-prompt-capture

by Miyamura80

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
APC_HOMENoThe runtime directory. Default ~/.agent-prompt-capture, created mode 0700.~/.agent-prompt-capture
APC_DEBUGNoSet to '1' for DEBUG level logging and a stderr handler in addition to apc.log.0

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

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_promptsA

List captured prompts, newest first (oldest first is not offered; page with offset). Use it to read what the user actually asked, in order, about a project or a session. Prompt text is PII-scrubbed: values appear as [EMAIL_1], [API_KEY_2] and similar placeholders. source must be one of: claude_code, codex_cli, opencode, claude_web, claude_code_web, chatgpt_web, codex_cloud. project, session_id and account are exact matches on the stored value (see list_sessions / list_sources for what exists). limit is capped at 500. since/until accept an ISO 8601 timestamp ('2026-09-19T14:00:00Z'), a bare date ('2026-09-19'), the word 'now', or a relative duration meaning that long ago: '30m', '24h', '7d', '2w', '3mo', '1y'. Omit until for 'up to now'. Returns {prompts: [record...], total: <matching rows ignoring limit/offset>}.

search_promptsA

Full text search over the captured prompt text, best match first. query is SQLite FTS5 syntax: bare words are AND-ed, "quoted phrases" match exactly, foo OR bar, foo NOT bar and refact* prefixes work. A query FTS5 cannot parse is retried as a literal phrase rather than failing. Remember the text is scrubbed, so searching for an email address or a key will never match. source must be one of: claude_code, codex_cli, opencode, claude_web, claude_code_web, chatgpt_web, codex_cloud. since/until accept an ISO 8601 timestamp ('2026-09-19T14:00:00Z'), a bare date ('2026-09-19'), the word 'now', or a relative duration meaning that long ago: '30m', '24h', '7d', '2w', '3mo', '1y'. Omit until for 'up to now'. limit is capped at 500. Each result carries a bm25 rank (lower = better).

get_promptA

Fetch one captured prompt by its id (the id field of any record returned by list_prompts or search_prompts). Returns the record, or {"error": "not_found", "id": ...} when there is no such prompt.

prompt_statsA

Cheap prompt counts and character totals - no time analysis. Reach for time_summary instead when the question is about time. group_by must be one of: source, day, week, project, account, session ('day' and 'week' bucket by the UTC timestamp, not local time). since/until accept an ISO 8601 timestamp ('2026-09-19T14:00:00Z'), a bare date ('2026-09-19'), the word 'now', or a relative duration meaning that long ago: '30m', '24h', '7d', '2w', '3mo', '1y'. Omit until for 'up to now'. Returns {group_by, groups: [{key, prompt_count, chars}]}.

list_sourcesA

Which capture sources have prompts, how many, and the first/last timestamp for each. Takes no arguments. Call it first when you are unsure what is being captured at all, or to check whether a source has gone quiet.

list_sessionsA

List agent/conversation sessions, most recently active first, with their project, first/last timestamp and prompt count. Use a returned session_id with list_prompts to read one conversation in order. source must be one of: claude_code, codex_cli, opencode, claude_web, claude_code_web, chatgpt_web, codex_cloud. limit is capped at 500.

time_summaryA

Where the user's time went. THE tool for any question about time use, focus or workload. Returns per-group active_minutes (wall-clock time around the agent, including a short tail credit), prompt_count, agent_minutes (how long agents were working; 0 where no turn-end signal exists, e.g. browser sources) and avg_think_seconds (the user's read-and-decide gap between an agent finishing and their next prompt), plus total_active_minutes and context_switches (consecutive prompts in one work session on different projects) for the whole window. group_by must be one of: project, source, day, hour_of_day, weekday, session - 'hour_of_day' and 'weekday' use this machine's local timezone. since/until accept an ISO 8601 timestamp ('2026-09-19T14:00:00Z'), a bare date ('2026-09-19'), the word 'now', or a relative duration meaning that long ago: '30m', '24h', '7d', '2w', '3mo', '1y'. Omit until for 'up to now'. Default since is '7d'. All figures are heuristics derived from prompt timestamps and idle gaps, not measured focus time; present them as such.

activity_timelineA

The shape of the user's activity over time: contiguous buckets, each with start (UTC), local_start, prompt_count, active_minutes and the projects/sources touched. Use it to show when work happened rather than how much. bucket must be one of: hour, day - buckets are aligned to local hours/midnights. since/until accept an ISO 8601 timestamp ('2026-09-19T14:00:00Z'), a bare date ('2026-09-19'), the word 'now', or a relative duration meaning that long ago: '30m', '24h', '7d', '2w', '3mo', '1y'. Omit until for 'up to now'. Defaults: since='24h', until=now. Very wide windows are truncated (the response then carries truncated: true); widen bucket instead of the window.

daily_digestA

Everything worth knowing about one local calendar day: first/last activity, active_minutes, the day's activity sessions (project, source, start/end, prompt count and the three shortest prompts as samples), context_switches and top_terms. date is YYYY-MM-DD in this machine's local timezone and defaults to today. Use it for 'what did I do today?' and end-of-day reviews; use time_summary for anything spanning several days.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
recent_promptsThe last 50 captured prompts as JSON.
stats_summaryPer-source prompt counts for the last 7 days.
digest_todayToday's activity digest: sessions, context switches and top terms.

TDQS

A4.6/5.0

Scored across 9 tools

Disambiguation5/5

Each tool has a clear, distinct role: list_prompts/search_prompts/get_prompt for raw access, list_sources/list_sessions for metadata, and the four analytics tools each target a different slice (timeline buckets, counts, time-use groups, single-day digest). Even the overlapping time-related tools have explicitly differentiated use cases.

Naming Consistency4/5

The retrieval tools follow a consistent verb_noun pattern (list_prompts, list_sources, list_sessions, search_prompts, get_prompt), but the analytics tools use plain noun names (activity_timeline, prompt_stats, time_summary, daily_digest). This is predictable and readable, but not a fully uniform convention across the set.

Tool Count5/5

Nine tools is well-scoped for a prompt-capture and analysis server, covering enumeration, search, single-record fetch, metadata discovery, and multiple analytic views without redundancy or bloat.

Completeness5/5

The surface covers the full read-side lifecycle: discover sources/sessions, browse/search/fetch prompts, and analyze activity over time at both aggregate and per-day granularity. For a read-only capture server, there are no obvious gaps.

Maintenance

ActivityMaintained
ResponsivenessNo issues