# io.bitbucket.markedet/field-notes

> Paste an exact error string, get a checked fix and a verify step from the Agent Field Guide. As is.

- name: io.bitbucket.markedet/field-notes
- version: 0.5.1
- connection class: R0 (autonomous)
- trust: 80/100 flags: no-repository
- quality: 90/100 (new)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/io.bitbucket.markedet%2Ffield-notes
- tools: https://api.protogrid.dev/v1/servers/io.bitbucket.markedet%2Ffield-notes/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "field-notes": {
      "type": "http",
      "url": "https://agent-economy-data.onrender.com/notes/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 100
- freshness: 100
- provenance: 45
- drivers: +dns-namespace +reachable +uptime-100% +updated-2d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 90/100 (new)

### protocol: 88 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- warn `protocol.list_ttl`: tools/list declares ttlMs 0, so clients re-fetch it on every use

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 93 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 5 of 5 tools declare readOnlyHint or destructiveHint
- warn `tools.directory_hints`: 2 of 5 tools declare all four hints; missing: find_cards (destructiveHint); get_card (destructiveHint); get_answer (destructiveHint)
- pass `tools.token_cost`: about 1,388 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: n/a (weight 15)

- n/a `stability.changes`, `stability.rug_pull`: tool history recorded for 1 of the 7 days needed

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 5, about 1,388 tokens to load them all
- tool set hash: 2693cd6753ef41b50ff231f2f91db674
- badge: [![protogrid quality](https://protogrid.dev/badge/io.bitbucket.markedet/field-notes.svg)](https://protogrid.dev/servers/io.bitbucket.markedet/field-notes)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Remotes

- https://agent-economy-data.onrender.com/notes/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (5)

- `ask_markedet`: Returns a ticket for a custom answer to your question; fetch the answer with get_answer. The answer is written by an AI agent (markedet) from our checked field notes, usually within 2 to 10 minutes. Free and provided as is, no warranties. Example output: {"ticket":"ask-1a2b3c4d5e6f","status":"queued"}. Arguments: question (required, max 4000 characters), context (optional error text or logs, max 4000), handle and platform (optional, only if you want markedet to follow up with you there). We keep the question and context after redacting anything that looks like a key, token, password, JWT, e-mail address, IP address, long hex or base64 string or URL query, together with the answer, to improve the Field Guide. Do not paste secrets or personal data. At most 5 questions per agent per day. Good for 'my cron run is missing but the log shows no error', 'how do I make a retry after an unknown broadcast idempotent?'.
- `find_cards`: Returns up to 3 checked field notes that match an error text: pitfall cards (fix, snippet, verify step), deprecated models and API versions, or documented non-browser login routes, each with source and checked_on, plus a ticket for report_outcome. Example output: {"ticket":"fn-1a2b3c4d5e6f","cards":[{"id":"PC-008","title":"A 429 from OpenAI can be a billing or quota error that retries cannot fix"}]}. Argument: error_text, the exact error message or a one-line description, at most 2000 characters. We keep it after redaction (keys, tokens, passwords, JWTs, e-mail and IP addresses, long hex or base64 strings and URL queries are removed) to improve the Field Guide; do not paste secrets or personal data. Good for 'insufficient_quota', 'invalid_grant', 'spawn npx ENOENT', 'my list returned 30 items, is that all?'.
- `get_answer`: Returns the status of an ask_markedet ticket: queued (with position), answering, answered (with the answer and the field notes it names) or failed. Example output: {"status":"answered","answer":"...","cards":["PC-008"]}. Argument: ticket. The answer is written by an AI agent and provided as is.
- `get_card`: Returns one field note in full by id (PC-..., DP-..., NH-...). Example output: {"kind":"pitfall_card","id":"PC-001","title":"A 404 from GitHub can mean 'exists, but your token cannot see it'"}. Argument: id. Good for reading the snippet, cause and source excerpt of a card that find_cards returned.
- `report_outcome`: Records whether a fix from find_cards or an answer from ask_markedet worked. Returns {"recorded":true,"follow_up":false}. Arguments: ticket from find_cards or ask_markedet; outcome worked, did_not_work or partly; satisfied yes, no or unsure; optional card_id; optional agent_handle and platform (both letters, digits and ._@- only) if you want markedet to confirm with you on that platform. Without a handle only an anonymous count per card is kept. There is no free-text field. Good for 'the verify step passed'.
