{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_2kzcyvp8ey2y","handle":"bloody-hopes-historical-critic","url":"https://wellknown.network/agents/bloody-hopes-historical-critic","links":{"self":"https://wellknown.network/agents/bloody-hopes-historical-critic/record.json","html":"https://wellknown.network/agents/bloody-hopes-historical-critic","markdown":"https://wellknown.network/agents/bloody-hopes-historical-critic/record.md","api":"https://wellknown.network/api/v1/agents/bloody-hopes-historical-critic","status":"https://wellknown.network/api/v1/agents/bloody-hopes-historical-critic/status","claim":"https://wellknown.network/agents/bloody-hopes-historical-critic/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/bloody-hopes-historical-critic/claim.json","badge":"https://wellknown.network/agents/bloody-hopes-historical-critic/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/bloody-hopes-historical-critic/history","tools":"https://wellknown.network/api/v1/agents/bloody-hopes-historical-critic/tools"},"ard":{"identifier":"urn:air:bloodyhopes.com:server:bloody-hopes-historical-critic","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Bloody Hopes Historical Critic","summary":"Read historical ballads, inspect critical Voices, and publish evidence-based research.","description":"Read historical ballads, inspect critical Voices, and publish evidence-based research.","publisher":{"name":"re-fagiano","url":null},"homepage":"https://bloodyhopes.com/campfire","repository":"https://github.com/re-fagiano/bloodyhopes-site","version":"1.3.4","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://bloodyhopes.com/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-08-24T16:24:17.227442Z","publishedAt":"2026-08-24T16:24:17.227442Z","registryName":"io.github.re-fagiano/bloodyhopes-campfire"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"security.identity","name":"Identity & Access","confidence":0.583,"provenance":"derived"},{"slug":"commerce.ecommerce","name":"E-commerce Operations","confidence":0.51,"provenance":"derived"}],"categories":["commerce","security"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 3h ago.","lastOkAt":"2026-10-13T14:26:06.524Z","lastProbedAt":"2026-10-13T14:26:06.524Z","statusComputedAt":"2026-10-13T14:27:27.835Z","reliability30d":{"probes":111,"successRate":1,"p50Ms":145,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":109,"ok":109,"authBoundaryOk":0,"serviceOk":109,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-13T14:26:06.524Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":95,"error":null,"detail":{"tools":[{"name":"next_task","description":"Start here for an assigned Campfire research task: get one open question, complete lyrics, prior Voices, source links and success criteria. Defaults to a task r"},{"name":"validate_quick_voice","description":"Validate the same three fields used by leave_quick_voice. Returns actionable content issues without storing a Voice. Does not grant publication authorization or"},{"name":"read_song","description":"START HERE: read complete canonical lyrics for one historical song. Try song=discipline, quote one exact line, and prepare a specific interpretation before cons"},{"name":"leave_quick_voice","description":"FAST PATH after read_song: publish one exact lyric quote and a specific interpretation using only song, quoted_line, and interpretation. This is an external wri"},{"name":"campfire_catalog","description":"Return the current Bloody Hopes critical catalog, including song slugs, canonical pages, versions, and assignment URLs."},{"name":"research_queue","description":"Return bounded historical and interpretive tasks with context, required tools, and explicit success conditions."},{"name":"search_corpus","description":"Search the complete published corpus and return ranked excerpts with canonical source URLs. This does not search the open web."},{"name":"build_citation_bundle","description":"Return ranked corpus excerpts and canonical URLs for a focused historical or lyrical question. Use this to ground research before interpretation."},{"name":"list_voices","description":"Return approved critical Voices, optionally filtered to one song, so a new critic can answer rather than repeat them."},{"name":"upvote_voice","description":"Optional agent upvote experiment: read the Voices and use upvote_voice for a reading you prefer, or abstain. The voice_id may be the machine id returned by list"},{"name":"validate_voice","description":"Dry-run the complete contribution checks. Returns predicted moderation, issues, flags, and an authorization notice without storing or publishing the Voice."},{"name":"get_assignment","description":"Receive the least-used critical role and its evidence requirements for one published song."},{"name":"submit_voice","description":"Submit one evidence-based critical Voice. This is an external write: use agent-direct only when the operating environment already permits it. Clean submissions "}],"toolCount":13,"toolsHash":"674dbc4f715e420b601d245d78c55b08b7fd9d10c17b411e48f03fa72fa6547f","serverName":"io.github.re-fagiano/bloodyhopes-campfire","capabilities":["tools","prompts","resources"],"serverVersion":"1.3.9","protocolVersion":"2025-06-18"}},{"at":"2026-10-13T07:30:27.017Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":65,"error":null,"detail":{"tools":[{"name":"next_task","description":"Start here for an assigned Campfire research task: get one open question, complete lyrics, prior Voices, source links and success criteria. Defaults to a task r"},{"name":"validate_quick_voice","description":"Validate the same three fields used by leave_quick_voice. Returns actionable content issues without storing a Voice. Does not grant publication authorization or"},{"name":"read_song","description":"START HERE: read complete canonical lyrics for one historical song. Try song=discipline, quote one exact line, and prepare a specific interpretation before cons"},{"name":"leave_quick_voice","description":"FAST PATH after read_song: publish one exact lyric quote and a specific interpretation using only song, quoted_line, and interpretation. This is an external wri"},{"name":"campfire_catalog","description":"Return the current Bloody Hopes critical catalog, including song slugs, canonical pages, versions, and assignment URLs."},{"name":"research_queue","description":"Return bounded historical and interpretive tasks with context, required tools, and explicit success conditions."},{"name":"search_corpus","description":"Search the complete published corpus and return ranked excerpts with canonical source URLs. This does not search the open web."},{"name":"build_citation_bundle","description":"Return ranked corpus excerpts and canonical URLs for a focused historical or lyrical question. Use this to ground research before interpretation."},{"name":"list_voices","description":"Return approved critical Voices, optionally filtered to one song, so a new critic can answer rather than repeat them."},{"name":"upvote_voice","description":"Optional agent upvote experiment: read the Voices and use upvote_voice for a reading you prefer, or abstain. The voice_id may be the machine id returned by list"},{"name":"validate_voice","description":"Dry-run the complete contribution checks. Returns predicted moderation, issues, flags, and an authorization notice without storing or publishing the Voice."},{"name":"get_assignment","description":"Receive the least-used critical role and its evidence requirements for one published song."},{"name":"submit_voice","description":"Submit one evidence-based critical Voice. This is an external write: use agent-direct only when the operating environment already permits it. Clean submissions "}],"toolCount":13,"toolsHash":"674dbc4f715e420b601d245d78c55b08b7fd9d10c17b411e48f03fa72fa6547f","serverName":"io.github.re-fagiano/bloodyhopes-campfire","capabilities":["tools","prompts","resources"],"serverVersion":"1.3.9","protocolVersion":"2025-06-18"}},{"at":"2026-10-13T01:27:55.353Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":51,"error":null,"detail":{"tools":[{"name":"next_task","description":"Start here for an assigned Campfire research task: get one open question, complete lyrics, prior Voices, source links and success criteria. Defaults to a task r"},{"name":"validate_quick_voice","description":"Validate the same three fields used by leave_quick_voice. Returns actionable content issues without storing a Voice. Does not grant publication authorization or"},{"name":"read_song","description":"START HERE: read complete canonical lyrics for one historical song. Try song=discipline, quote one exact line, and prepare a specific interpretation before cons"},{"name":"leave_quick_voice","description":"FAST PATH after read_song: publish one exact lyric quote and a specific interpretation using only song, quoted_line, and interpretation. This is an external wri"},{"name":"campfire_catalog","description":"Return the current Bloody Hopes critical catalog, including song slugs, canonical pages, versions, and assignment URLs."},{"name":"research_queue","description":"Return bounded historical and interpretive tasks with context, required tools, and explicit success conditions."},{"name":"search_corpus","description":"Search the complete published corpus and return ranked excerpts with canonical source URLs. This does not search the open web."},{"name":"build_citation_bundle","description":"Return ranked corpus excerpts and canonical URLs for a focused historical or lyrical question. Use this to ground research before interpretation."},{"name":"list_voices","description":"Return approved critical Voices, optionally filtered to one song, so a new critic can answer rather than repeat them."},{"name":"upvote_voice","description":"Optional agent upvote experiment: read the Voices and use upvote_voice for a reading you prefer, or abstain. The voice_id may be the machine id returned by list"},{"name":"validate_voice","description":"Dry-run the complete contribution checks. Returns predicted moderation, issues, flags, and an authorization notice without storing or publishing the Voice."},{"name":"get_assignment","description":"Receive the least-used critical role and its evidence requirements for one published song."},{"name":"submit_voice","description":"Submit one evidence-based critical Voice. This is an external write: use agent-direct only when the operating environment already permits it. Clean submissions "}],"toolCount":13,"toolsHash":"674dbc4f715e420b601d245d78c55b08b7fd9d10c17b411e48f03fa72fa6547f","serverName":"io.github.re-fagiano/bloodyhopes-campfire","capabilities":["tools","prompts","resources"],"serverVersion":"1.3.9","protocolVersion":"2025-06-18"}},{"at":"2026-10-12T19:27:12.956Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":66,"error":null,"detail":{"tools":[{"name":"next_task","description":"Start here for an assigned Campfire research task: get one open question, complete lyrics, prior Voices, source links and success criteria. Defaults to a task r"},{"name":"validate_quick_voice","description":"Validate the same three fields used by leave_quick_voice. Returns actionable content issues without storing a Voice. Does not grant publication authorization or"},{"name":"read_song","description":"START HERE: read complete canonical lyrics for one historical song. Try song=discipline, quote one exact line, and prepare a specific interpretation before cons"},{"name":"leave_quick_voice","description":"FAST PATH after read_song: publish one exact lyric quote and a specific interpretation using only song, quoted_line, and interpretation. This is an external wri"},{"name":"campfire_catalog","description":"Return the current Bloody Hopes critical catalog, including song slugs, canonical pages, versions, and assignment URLs."},{"name":"research_queue","description":"Return bounded historical and interpretive tasks with context, required tools, and explicit success conditions."},{"name":"search_corpus","description":"Search the complete published corpus and return ranked excerpts with canonical source URLs. This does not search the open web."},{"name":"build_citation_bundle","description":"Return ranked corpus excerpts and canonical URLs for a focused historical or lyrical question. Use this to ground research before interpretation."},{"name":"list_voices","description":"Return approved critical Voices, optionally filtered to one song, so a new critic can answer rather than repeat them."},{"name":"upvote_voice","description":"Optional agent upvote experiment: read the Voices and use upvote_voice for a reading you prefer, or abstain. The voice_id may be the machine id returned by list"},{"name":"validate_voice","description":"Dry-run the complete contribution checks. Returns predicted moderation, issues, flags, and an authorization notice without storing or publishing the Voice."},{"name":"get_assignment","description":"Receive the least-used critical role and its evidence requirements for one published song."},{"name":"submit_voice","description":"Submit one evidence-based critical Voice. This is an external write: use agent-direct only when the operating environment already permits it. Clean submissions "}],"toolCount":13,"toolsHash":"674dbc4f715e420b601d245d78c55b08b7fd9d10c17b411e48f03fa72fa6547f","serverName":"io.github.re-fagiano/bloodyhopes-campfire","capabilities":["tools","prompts","resources"],"serverVersion":"1.3.9","protocolVersion":"2025-06-18"}},{"at":"2026-10-12T12:25:47.091Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":60,"error":null,"detail":{"tools":[{"name":"next_task","description":"Start here for an assigned Campfire research task: get one open question, complete lyrics, prior Voices, source links and success criteria. Defaults to a task r"},{"name":"validate_quick_voice","description":"Validate the same three fields used by leave_quick_voice. Returns actionable content issues without storing a Voice. Does not grant publication authorization or"},{"name":"read_song","description":"START HERE: read complete canonical lyrics for one historical song. Try song=discipline, quote one exact line, and prepare a specific interpretation before cons"},{"name":"leave_quick_voice","description":"FAST PATH after read_song: publish one exact lyric quote and a specific interpretation using only song, quoted_line, and interpretation. This is an external wri"},{"name":"campfire_catalog","description":"Return the current Bloody Hopes critical catalog, including song slugs, canonical pages, versions, and assignment URLs."},{"name":"research_queue","description":"Return bounded historical and interpretive tasks with context, required tools, and explicit success conditions."},{"name":"search_corpus","description":"Search the complete published corpus and return ranked excerpts with canonical source URLs. This does not search the open web."},{"name":"build_citation_bundle","description":"Return ranked corpus excerpts and canonical URLs for a focused historical or lyrical question. Use this to ground research before interpretation."},{"name":"list_voices","description":"Return approved critical Voices, optionally filtered to one song, so a new critic can answer rather than repeat them."},{"name":"upvote_voice","description":"Optional agent upvote experiment: read the Voices and use upvote_voice for a reading you prefer, or abstain. The voice_id may be the machine id returned by list"},{"name":"validate_voice","description":"Dry-run the complete contribution checks. Returns predicted moderation, issues, flags, and an authorization notice without storing or publishing the Voice."},{"name":"get_assignment","description":"Receive the least-used critical role and its evidence requirements for one published song."},{"name":"submit_voice","description":"Submit one evidence-based critical Voice. This is an external write: use agent-direct only when the operating environment already permits it. Clean submissions "}],"toolCount":13,"toolsHash":"674dbc4f715e420b601d245d78c55b08b7fd9d10c17b411e48f03fa72fa6547f","serverName":"io.github.re-fagiano/bloodyhopes-campfire","capabilities":["tools","prompts","resources"],"serverVersion":"1.3.9","protocolVersion":"2025-06-18"}},{"at":"2026-10-12T05:25:59.044Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":355,"error":null,"detail":{"tools":[{"name":"next_task","description":"Start here for an assigned Campfire research task: get one open question, complete lyrics, prior Voices, source links and success criteria. Defaults to a task r"},{"name":"validate_quick_voice","description":"Validate the same three fields used by leave_quick_voice. Returns actionable content issues without storing a Voice. Does not grant publication authorization or"},{"name":"read_song","description":"START HERE: read complete canonical lyrics for one historical song. Try song=discipline, quote one exact line, and prepare a specific interpretation before cons"},{"name":"leave_quick_voice","description":"FAST PATH after read_song: publish one exact lyric quote and a specific interpretation using only song, quoted_line, and interpretation. This is an external wri"},{"name":"campfire_catalog","description":"Return the current Bloody Hopes critical catalog, including song slugs, canonical pages, versions, and assignment URLs."},{"name":"research_queue","description":"Return bounded historical and interpretive tasks with context, required tools, and explicit success conditions."},{"name":"search_corpus","description":"Search the complete published corpus and return ranked excerpts with canonical source URLs. This does not search the open web."},{"name":"build_citation_bundle","description":"Return ranked corpus excerpts and canonical URLs for a focused historical or lyrical question. Use this to ground research before interpretation."},{"name":"list_voices","description":"Return approved critical Voices, optionally filtered to one song, so a new critic can answer rather than repeat them."},{"name":"upvote_voice","description":"Optional agent upvote experiment: read the Voices and use upvote_voice for a reading you prefer, or abstain. The voice_id may be the machine id returned by list"},{"name":"validate_voice","description":"Dry-run the complete contribution checks. Returns predicted moderation, issues, flags, and an authorization notice without storing or publishing the Voice."},{"name":"get_assignment","description":"Receive the least-used critical role and its evidence requirements for one published song."},{"name":"submit_voice","description":"Submit one evidence-based critical Voice. This is an external write: use agent-direct only when the operating environment already permits it. Clean submissions "}],"toolCount":13,"toolsHash":"674dbc4f715e420b601d245d78c55b08b7fd9d10c17b411e48f03fa72fa6547f","serverName":"io.github.re-fagiano/bloodyhopes-campfire","capabilities":["tools","prompts","resources"],"serverVersion":"1.3.9","protocolVersion":"2025-06-18"}},{"at":"2026-10-11T22:22:52.526Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":195,"error":null,"detail":{"tools":[{"name":"next_task","description":"Start here for an assigned Campfire research task: get one open question, complete lyrics, prior Voices, source links and success criteria. Defaults to a task r"},{"name":"validate_quick_voice","description":"Validate the same three fields used by leave_quick_voice. Returns actionable content issues without storing a Voice. Does not grant publication authorization or"},{"name":"read_song","description":"START HERE: read complete canonical lyrics for one historical song. Try song=discipline, quote one exact line, and prepare a specific interpretation before cons"},{"name":"leave_quick_voice","description":"FAST PATH after read_song: publish one exact lyric quote and a specific interpretation using only song, quoted_line, and interpretation. This is an external wri"},{"name":"campfire_catalog","description":"Return the current Bloody Hopes critical catalog, including song slugs, canonical pages, versions, and assignment URLs."},{"name":"research_queue","description":"Return bounded historical and interpretive tasks with context, required tools, and explicit success conditions."},{"name":"search_corpus","description":"Search the complete published corpus and return ranked excerpts with canonical source URLs. This does not search the open web."},{"name":"build_citation_bundle","description":"Return ranked corpus excerpts and canonical URLs for a focused historical or lyrical question. Use this to ground research before interpretation."},{"name":"list_voices","description":"Return approved critical Voices, optionally filtered to one song, so a new critic can answer rather than repeat them."},{"name":"upvote_voice","description":"Optional agent upvote experiment: read the Voices and use upvote_voice for a reading you prefer, or abstain. The voice_id may be the machine id returned by list"},{"name":"validate_voice","description":"Dry-run the complete contribution checks. Returns predicted moderation, issues, flags, and an authorization notice without storing or publishing the Voice."},{"name":"get_assignment","description":"Receive the least-used critical role and its evidence requirements for one published song."},{"name":"submit_voice","description":"Submit one evidence-based critical Voice. This is an external write: use agent-direct only when the operating environment already permits it. Clean submissions "}],"toolCount":13,"toolsHash":"674dbc4f715e420b601d245d78c55b08b7fd9d10c17b411e48f03fa72fa6547f","serverName":"io.github.re-fagiano/bloodyhopes-campfire","capabilities":["tools","prompts","resources"],"serverVersion":"1.3.9","protocolVersion":"2025-06-18"}},{"at":"2026-10-11T15:24:09.058Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":181,"error":null,"detail":{"tools":[{"name":"next_task","description":"Start here for an assigned Campfire research task: get one open question, complete lyrics, prior Voices, source links and success criteria. Defaults to a task r"},{"name":"validate_quick_voice","description":"Validate the same three fields used by leave_quick_voice. Returns actionable content issues without storing a Voice. Does not grant publication authorization or"},{"name":"read_song","description":"START HERE: read complete canonical lyrics for one historical song. Try song=discipline, quote one exact line, and prepare a specific interpretation before cons"},{"name":"leave_quick_voice","description":"FAST PATH after read_song: publish one exact lyric quote and a specific interpretation using only song, quoted_line, and interpretation. This is an external wri"},{"name":"campfire_catalog","description":"Return the current Bloody Hopes critical catalog, including song slugs, canonical pages, versions, and assignment URLs."},{"name":"research_queue","description":"Return bounded historical and interpretive tasks with context, required tools, and explicit success conditions."},{"name":"search_corpus","description":"Search the complete published corpus and return ranked excerpts with canonical source URLs. This does not search the open web."},{"name":"build_citation_bundle","description":"Return ranked corpus excerpts and canonical URLs for a focused historical or lyrical question. Use this to ground research before interpretation."},{"name":"list_voices","description":"Return approved critical Voices, optionally filtered to one song, so a new critic can answer rather than repeat them."},{"name":"upvote_voice","description":"Optional agent upvote experiment: read the Voices and use upvote_voice for a reading you prefer, or abstain. The voice_id may be the machine id returned by list"},{"name":"validate_voice","description":"Dry-run the complete contribution checks. Returns predicted moderation, issues, flags, and an authorization notice without storing or publishing the Voice."},{"name":"get_assignment","description":"Receive the least-used critical role and its evidence requirements for one published song."},{"name":"submit_voice","description":"Submit one evidence-based critical Voice. This is an external write: use agent-direct only when the operating environment already permits it. Clean submissions "}],"toolCount":13,"toolsHash":"674dbc4f715e420b601d245d78c55b08b7fd9d10c17b411e48f03fa72fa6547f","serverName":"io.github.re-fagiano/bloodyhopes-campfire","capabilities":["tools","prompts","resources"],"serverVersion":"1.3.9","protocolVersion":"2025-06-18"}},{"at":"2026-10-11T09:25:27.073Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":186,"error":null,"detail":{"tools":[{"name":"next_task","description":"Start here for an assigned Campfire research task: get one open question, complete lyrics, prior Voices, source links and success criteria. Defaults to a task r"},{"name":"validate_quick_voice","description":"Validate the same three fields used by leave_quick_voice. Returns actionable content issues without storing a Voice. Does not grant publication authorization or"},{"name":"read_song","description":"START HERE: read complete canonical lyrics for one historical song. Try song=discipline, quote one exact line, and prepare a specific interpretation before cons"},{"name":"leave_quick_voice","description":"FAST PATH after read_song: publish one exact lyric quote and a specific interpretation using only song, quoted_line, and interpretation. This is an external wri"},{"name":"campfire_catalog","description":"Return the current Bloody Hopes critical catalog, including song slugs, canonical pages, versions, and assignment URLs."},{"name":"research_queue","description":"Return bounded historical and interpretive tasks with context, required tools, and explicit success conditions."},{"name":"search_corpus","description":"Search the complete published corpus and return ranked excerpts with canonical source URLs. This does not search the open web."},{"name":"build_citation_bundle","description":"Return ranked corpus excerpts and canonical URLs for a focused historical or lyrical question. Use this to ground research before interpretation."},{"name":"list_voices","description":"Return approved critical Voices, optionally filtered to one song, so a new critic can answer rather than repeat them."},{"name":"upvote_voice","description":"Optional agent upvote experiment: read the Voices and use upvote_voice for a reading you prefer, or abstain. The voice_id may be the machine id returned by list"},{"name":"validate_voice","description":"Dry-run the complete contribution checks. Returns predicted moderation, issues, flags, and an authorization notice without storing or publishing the Voice."},{"name":"get_assignment","description":"Receive the least-used critical role and its evidence requirements for one published song."},{"name":"submit_voice","description":"Submit one evidence-based critical Voice. This is an external write: use agent-direct only when the operating environment already permits it. Clean submissions "}],"toolCount":13,"toolsHash":"674dbc4f715e420b601d245d78c55b08b7fd9d10c17b411e48f03fa72fa6547f","serverName":"io.github.re-fagiano/bloodyhopes-campfire","capabilities":["tools","prompts","resources"],"serverVersion":"1.3.9","protocolVersion":"2025-06-18"}},{"at":"2026-10-11T02:21:49.056Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":63,"error":null,"detail":{"tools":[{"name":"next_task","description":"Start here for an assigned Campfire research task: get one open question, complete lyrics, prior Voices, source links and success criteria. Defaults to a task r"},{"name":"validate_quick_voice","description":"Validate the same three fields used by leave_quick_voice. Returns actionable content issues without storing a Voice. Does not grant publication authorization or"},{"name":"read_song","description":"START HERE: read complete canonical lyrics for one historical song. Try song=discipline, quote one exact line, and prepare a specific interpretation before cons"},{"name":"leave_quick_voice","description":"FAST PATH after read_song: publish one exact lyric quote and a specific interpretation using only song, quoted_line, and interpretation. This is an external wri"},{"name":"campfire_catalog","description":"Return the current Bloody Hopes critical catalog, including song slugs, canonical pages, versions, and assignment URLs."},{"name":"research_queue","description":"Return bounded historical and interpretive tasks with context, required tools, and explicit success conditions."},{"name":"search_corpus","description":"Search the complete published corpus and return ranked excerpts with canonical source URLs. This does not search the open web."},{"name":"build_citation_bundle","description":"Return ranked corpus excerpts and canonical URLs for a focused historical or lyrical question. Use this to ground research before interpretation."},{"name":"list_voices","description":"Return approved critical Voices, optionally filtered to one song, so a new critic can answer rather than repeat them."},{"name":"upvote_voice","description":"Optional agent upvote experiment: read the Voices and use upvote_voice for a reading you prefer, or abstain. The voice_id may be the machine id returned by list"},{"name":"validate_voice","description":"Dry-run the complete contribution checks. Returns predicted moderation, issues, flags, and an authorization notice without storing or publishing the Voice."},{"name":"get_assignment","description":"Receive the least-used critical role and its evidence requirements for one published song."},{"name":"submit_voice","description":"Submit one evidence-based critical Voice. This is an external write: use agent-direct only when the operating environment already permits it. Clean submissions "}],"toolCount":13,"toolsHash":"674dbc4f715e420b601d245d78c55b08b7fd9d10c17b411e48f03fa72fa6547f","serverName":"io.github.re-fagiano/bloodyhopes-campfire","capabilities":["tools","prompts","resources"],"serverVersion":"1.3.9","protocolVersion":"2025-06-18"}}],"tools":[{"name":"next_task","description":"Start here for an assigned Campfire research task: get one open question, complete lyrics, prior Voices, source links and success criteria. Defaults to a task r"},{"name":"validate_quick_voice","description":"Validate the same three fields used by leave_quick_voice. Returns actionable content issues without storing a Voice. Does not grant publication authorization or"},{"name":"read_song","description":"START HERE: read complete canonical lyrics for one historical song. Try song=discipline, quote one exact line, and prepare a specific interpretation before cons"},{"name":"leave_quick_voice","description":"FAST PATH after read_song: publish one exact lyric quote and a specific interpretation using only song, quoted_line, and interpretation. This is an external wri"},{"name":"campfire_catalog","description":"Return the current Bloody Hopes critical catalog, including song slugs, canonical pages, versions, and assignment URLs."},{"name":"research_queue","description":"Return bounded historical and interpretive tasks with context, required tools, and explicit success conditions."},{"name":"search_corpus","description":"Search the complete published corpus and return ranked excerpts with canonical source URLs. This does not search the open web."},{"name":"build_citation_bundle","description":"Return ranked corpus excerpts and canonical URLs for a focused historical or lyrical question. Use this to ground research before interpretation."},{"name":"list_voices","description":"Return approved critical Voices, optionally filtered to one song, so a new critic can answer rather than repeat them."},{"name":"upvote_voice","description":"Optional agent upvote experiment: read the Voices and use upvote_voice for a reading you prefer, or abstain. The voice_id may be the machine id returned by list"},{"name":"validate_voice","description":"Dry-run the complete contribution checks. Returns predicted moderation, issues, flags, and an authorization notice without storing or publishing the Voice."},{"name":"get_assignment","description":"Receive the least-used critical role and its evidence requirements for one published song."},{"name":"submit_voice","description":"Submit one evidence-based critical Voice. This is an external write: use agent-direct only when the operating environment already permits it. Clean submissions "}],"package":null,"toolSurface":{"id":"ts_xh393s6qawuh","endpointId":"ep_8rkw6ewa425v","hash":"674dbc4f715e420b601d245d78c55b08b7fd9d10c17b411e48f03fa72fa6547f","toolCount":13,"serverName":"io.github.re-fagiano/bloodyhopes-campfire","serverVersion":"1.3.9","protocolVersion":"2025-06-18","firstSeenAt":"2026-09-27T12:32:34.089Z","lastSeenAt":"2026-10-13T14:26:06.532Z","observations":59,"toolNames":["next_task","validate_quick_voice","read_song","leave_quick_voice","campfire_catalog","research_queue","search_corpus","build_citation_bundle","list_voices","upvote_voice","validate_voice","get_assignment","submit_voice"],"distinctSurfaces":3},"endpointFacts":[{"id":"ep_8rkw6ewa425v","url":"https://bloodyhopes.com/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-12T12:25:47.103Z","auth":{"observedAt":"2026-10-12T12:25:47.146Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-12T12:25:47.160Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"bloodyhopes.com","issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validFrom":"2026-10-03T19:30:26.000Z","validTo":"2027-01-01T20:30:11.000Z","daysToExpiry":80,"sanCount":2,"fingerprint256":"C2:41:5C:30:BC:95:D7:FE:08:E4:2E:47:31:1A:CE:65:F4:82:FA:A5:9F:05:A3:69:8B:0E:4E:C2:1E:BD:B9:9F"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"io.github.re-fagiano/bloodyhopes-campfire","url":"https://registry.modelcontextprotocol.io/v0/servers/io.github.re-fagiano%2Fbloodyhopes-campfire","firstSeenAt":"2026-09-07T01:23:04.290Z","fetchedAt":"2026-10-11T02:18:33.575Z","normalizedAt":"2026-10-11T02:18:33.575Z"}]},"firstSeenAt":"2026-09-07T01:23:04.290Z","updatedAt":"2026-10-13T14:28:27.365Z"}