https://github.com/retospect/gripe-mcp
Agent complaint box — one-tool MCP for logging bugs and improvement requests
https://github.com/retospect/gripe-mcp
agent-monitoring llm mcp mcp-server model-context-protocol monitoring python
Last synced: 3 months ago
JSON representation
Agent complaint box — one-tool MCP for logging bugs and improvement requests
- Host: GitHub
- URL: https://github.com/retospect/gripe-mcp
- Owner: retospect
- License: other
- Created: 2026-04-01T17:53:27.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2026-04-22T09:36:46.000Z (3 months ago)
- Last Synced: 2026-05-11T10:56:57.284Z (3 months ago)
- Topics: agent-monitoring, llm, mcp, mcp-server, model-context-protocol, monitoring, python
- Language: Python
- Size: 24.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
README
# gripe-mcp
Agent complaint box — one-tool MCP for logging bugs and improvement requests.
## One tool: `report_issue`
Call it when you guess, hit a missing tool, find bad docs, or produce uncertain
output. Non-blocking — log and continue.
| Param | Type | Description |
|---|---|---|
| `description` | str | What went wrong or what you'd like improved (max 200 chars) |
| `severity` | `low` / `medium` / `high` | low = friction, medium = guessed, high = abandoned/wrong |
| `section` | str | Which instruction or tool caused the issue (max 80 chars) |
| `mode` | enum | `ambiguous_instruction` `missing_tool` `bad_tool_doc` `hallucination_risk` `wrong_scope` `memory_miss` `other` |
## Storage
- **Postgres**: set `GRIPE_DB_URL` env var → single `gripe_issues` table
- **JSONL fallback**: timestamped files in `.gripe-mcp/` (one per day)
## Identity
`GRIPE_AGENT_ID` and `GRIPE_TASK_ID` are set at server startup via env vars.
The agent never self-reports identity.
## System prompt block
```
## Self-Monitoring
Use `report_issue` any time you guess, hit a missing tool, or produce output
you're uncertain about. Non-blocking — log and continue, no response expected.
There is no penalty for logging; silence is the failure mode we're trying to
prevent.
```
## Run
```bash
GRIPE_AGENT_ID=precis GRIPE_TASK_ID=review-123 gripe
```