GovGazette
by mooshee · remote · no sign-in to list tools · v1.3.1 · published by GitHub user mooshee
Find federal opportunities, research awards and vendors, and review dated exclusion evidence.
17 tools: 3 can delete or cancel things, 4 change things and 10 only read.
Scanned Oct 21, 2026
- Deletes or cancels3Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things4Claude Code: ask: see these tools
- Only reads10Claude Code: allow: see these tools
1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http govgazette https://govgazette.com/mcpFindings
Matches of fixed checks, with the text they matched.
The server marks "rotate_saved_search_feed" destructive (destructiveHint: true), and its name says "search", a word for reading.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false}; The name "rotate_saved_search_feed" says "search": a word for reading.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
17 tools
Deletes or cancels 3Claude Code: deny
delete_saved_searchPermanently delete one saved search owned by the authenticated private workspace, including its baseline, retained change events and feed link.No findings
Why it is in this group
- The name "delete_saved_search" says "delete": a word for removing or ending something.
- The description says "Permanently delete".
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Permanently delete one saved search owned by the authenticated private workspace, including its baseline, retained change events and feed link. Requires explicit user intent; does not delete other searches or public records.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: false
delete_saved_search_workspacePermanently delete the authenticated private saved-search workspace and all its searches, baselines, change events and feed links.No findings
Why it is in this group
- The name "delete_saved_search_workspace" says "delete": a word for removing or ending something.
- The description says "Permanently delete".
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Permanently delete the authenticated private saved-search workspace and all its searches, baselines, change events and feed links. Requires explicit user intent to delete the entire workspace. Does not delete the GovGazette login account, public records or another workspace.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: false
rotate_saved_search_feedReplace the private feed link for one saved search owned by the authenticated workspace, immediately revoking its previous link.1 finding
Why it is in this group
- The name "rotate_saved_search_feed" says "search": a word for reading.
- The description's first verb is "replace": a word for a change.
- The description says "cannot be recovered".
- The server marks it destructive (destructiveHint: true).
Findings
- Warn
The server marks "rotate_saved_search_feed" destructive (destructiveHint: true), and its name says "search", a word for reading.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false}; The name "rotate_saved_search_feed" says "search": a word for reading.
Description, as the server wrote it Replace the private feed link for one saved search owned by the authenticated workspace, immediately revoking its previous link. Requires explicit user intent. Does not delete the search or its events. Keep the replacement link private; a lost response may mean the link changed and cannot be recovered by listing searches.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: false
Changes things 4Claude Code: ask
check_exclusionsCheck 1 to 20 identities against a dated active SAM snapshot.Reads text others writeNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Check 1 to 20 identities against a dated active SAM snapshot. Pass identities as an array of objects, not a record ID or page URL. Each identity needs a name, UEI, CAGE, or NPI. Exact identifier matches and name-only possible matches remain distinct. Read coverage.freshness; stale or unknown-source empty lookups report unavailable with snapshot_status no_match_in_snapshot. No match is not clearance.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
create_saved_searchCreate one private saved opportunity search with the supplied name and criteria.No findings
Why it is in this group
- The name "create_saved_search" says "create": a word for a change.
Description, as the server wrote it Create one private saved opportunity search with the supplied name and criteria. Requires authenticated workspace access and explicit user intent. Creates an account workspace if needed and adds a search without replacing existing searches. Returns a private feed link. The first successful check establishes a baseline; no email or external notification is sent.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
freshnessReport actual source dates, coverage, record counts and SHA256 provenance.Reads text others writeNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Report actual source dates, coverage, record counts and SHA256 provenance.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
research_opportunityBuild a cited research brief with retained notice requirements, exact award-number candidates and same-industry comparisons.Reads text others writeNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Build a cited research brief with retained notice requirements, exact award-number candidates and same-industry comparisons. Does not infer an incumbent or eligibility.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
Only reads 10Claude Code: allow
detailRetrieve a public record using the exact collection and id returned by search, never a page URL, title or slug.Reads text others writeNo findings
Why it is in this group
- The description's first verb is "retrieve": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
- untrusted-inputThe description's first sentence says "retrieve" and "url": it reads web pages, which anyone can write.
Description, as the server wrote it Retrieve a public record using the exact collection and id returned by search, never a page URL, title or slug. Supply the returned generation for a consistent result.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
documentRead official record text using the exact collection, id and generation returned by search.Reads private dataReads text others writeNo findings
Why it is in this group
- The description's first verb is "read": a word for reading.
What it can reach
- private-dataThe name "document" says "document": it reads documents.
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Read official record text using the exact collection, id and generation returned by search. Start at offset 0 with length 1 to 16,000 characters, then use next_offset unchanged for the next chunk. Does not fetch arbitrary URLs or paths.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
exclusion_changesCompare two retained snapshots.Reads text others writeNo findings
Why it is in this group
- The description's first verb is "compare": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Compare two retained snapshots. No longer observed does not mean reinstated; enrichment-only changes are excluded.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
exclusion_contextRetrieve an exclusion with agency explanation, named restriction references, source evidence, explicit source-age warnings and supported business links.Reads text others writeNo findings
Why it is in this group
- The description's first verb is "retrieve": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Retrieve an exclusion with agency explanation, named restriction references, source evidence, explicit source-age warnings and supported business links.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
explain_matchExplain deterministic primary NAICS overlap between a registered vendor and opportunity.Reads text others writeNo findings
Why it is in this group
- The name "explain_match" says "explain": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Explain deterministic primary NAICS overlap between a registered vendor and opportunity. Not an eligibility determination.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
get_saved_search_eventsRead the latest 100 retained change observations for one saved search owned by the authenticated private workspace.No findings
Why it is in this group
- The name "get_saved_search_events" says "get": a word for reading.
Description, as the server wrote it Read the latest 100 retained change observations for one saved search owned by the authenticated private workspace. Does not change the search. Retention and missing intermediate observations are explicit; observations are not proof of delivered notifications.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
list_saved_searchesList the saved opportunity searches in the authenticated private workspace, including criteria, status and change counts.No findings
Why it is in this group
- The name "list_saved_searches" says "list": a word for reading.
Description, as the server wrote it List the saved opportunity searches in the authenticated private workspace, including criteria, status and change counts. Does not change searches. Requires workspace Authorization headers on /mcp or account OAuth on /account/mcp; never accept keys in tool arguments.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
searchSearch public opportunities, vendors, awards, exclusions, or reference collections.Reads text others writeNo findings
Why it is in this group
- The name "search" says "search": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Search public opportunities, vendors, awards, exclusions, or reference collections. Results include provenance and a generation-pinned cursor.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
search_exclusionsFilter active exclusion records by agency, program, classification, geography and dates.Reads text others writeNo findings
Why it is in this group
- The name "search_exclusions" says "search": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Filter active exclusion records by agency, program, classification, geography and dates. Limit is a maximum; large records can produce a smaller page with page_size_limited true. Continue with next_cursor and unchanged filters and limit. Preserve generation and read coverage.freshness for source age and warnings; results are dated evidence, not clearance.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
search_opportunitiesFind official opportunity records by keywords, industry, set-aside, state, agency and source status.Reads text others writeNo findings
Why it is in this group
- The name "search_opportunities" says "search": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Find official opportunity records by keywords, industry, set-aside, state, agency and source status. Active does not imply the deadline is open.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Exfil surface
Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.
No private-data, untrusted-input, outbound path in this server alone: no tool is tagged outbound.
- Reads private data1
- Reads files, mail, messages, databases, secrets, calendars or repositories.
- Reads text others write11
- Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
- Can send data out0
- Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.
Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.
Install
Pinned to version 1.3.1. Values in angle brackets are yours to fill in.
claude mcp add --transport http govgazette https://govgazette.com/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__govgazette__detail",
"mcp__govgazette__document",
"mcp__govgazette__exclusion_changes",
"mcp__govgazette__exclusion_context",
"mcp__govgazette__explain_match",
"mcp__govgazette__get_saved_search_events",
"mcp__govgazette__list_saved_searches",
"mcp__govgazette__search",
"mcp__govgazette__search_exclusions",
"mcp__govgazette__search_opportunities"
],
"ask": [
"mcp__govgazette__check_exclusions",
"mcp__govgazette__create_saved_search",
"mcp__govgazette__freshness",
"mcp__govgazette__research_opportunity"
],
"deny": [
"mcp__govgazette__delete_saved_search",
"mcp__govgazette__delete_saved_search_workspace",
"mcp__govgazette__rotate_saved_search_feed"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as govgazette. Review it before you use it.
Capability tags behind 11 rules
- mcp__govgazette__check_exclusions untrusted-input
- mcp__govgazette__detail untrusted-input
- mcp__govgazette__document private-data, untrusted-input
- mcp__govgazette__exclusion_changes untrusted-input
- mcp__govgazette__exclusion_context untrusted-input
- mcp__govgazette__explain_match untrusted-input
- mcp__govgazette__freshness untrusted-input
- mcp__govgazette__research_opportunity untrusted-input
- mcp__govgazette__search untrusted-input
- mcp__govgazette__search_exclusions untrusted-input
- mcp__govgazette__search_opportunities untrusted-input
