Finally Offline
by www.finallyoffline.com · remote · no sign-in to list tools · v2.1.0 · published by com.finallyoffline.www
Human culture news, trends and search across sports, music, fashion and streetwear.
7 tools: 4 change things and 3 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things4Claude Code: ask: see these tools
- Only reads3Claude Code: allow: see these tools
8 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http culture https://www.finallyoffline.com/mcpFindings
Matches of fixed checks, with the text they matched.
- Warngenerate_digest
The server marks "generate_digest" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "generate_digest" says "generate": a word for a change.
- Infoget_culture_news
The input schema at properties.agent_token.description mentions "Credential".
What this check looks forMatched text
inputSchema.properties.agent_token.description: "Credential from register_agent. Alternative to Aut..."
The input schema at properties.agent_token.description mentions "Credential".
What this check looks forMatched text
inputSchema.properties.agent_token.description: "Credential from register_agent. Alternative to Aut..."
- Infosearch_articles
The input schema at properties.agent_token.description mentions "Credential".
What this check looks forMatched text
inputSchema.properties.agent_token.description: "Credential from register_agent. Alternative to Aut..."
- Infosubscribe
The input schema at properties.agent_id.description mentions "credential".
What this check looks forMatched text
inputSchema.properties.agent_id.description: "...onal consistency check: must match your credential's server-generated ID"
- Infosubscribe
The input schema at properties.agent_token.description mentions "Credential".
What this check looks forMatched text
inputSchema.properties.agent_token.description: "Credential from register_agent. Alternative to Aut..."
Show 2 more findingsShow fewer
The input schema at properties.agent_token.description mentions "Credential".
What this check looks forMatched text
inputSchema.properties.agent_token.description: "Credential from register_agent. Alternative to Aut..."
- Infogenerate_digest
The input schema at properties.agent_token.description mentions "Credential".
What this check looks forMatched text
inputSchema.properties.agent_token.description: "Credential from register_agent. Alternative to Aut..."
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
7 tools
Changes things 4Claude Code: ask
generate_digestGenerate a branded HTML digest for your subscribed integration.2 findings
Why it is in this group
- The name "generate_digest" says "generate": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Info
The input schema at properties.agent_token.description mentions "Credential".
What this check looks forMatched text
inputSchema.properties.agent_token.description: "Credential from register_agent. Alternative to Aut..."
- Warn
The server marks "generate_digest" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "generate_digest" says "generate": a word for a change.
Description, as the server wrote it Generate a branded HTML digest for your subscribed integration. Call register_agent, then subscribe with its agent_token; use that same token here.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
register_agentRegister an integration with a self-reported operator profile.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Register an integration with a self-reported operator profile. Returns a new server-owned agent_id and a one-time agent_token. Save the token securely. It identifies this integration, not a verified person. Public reading needs no registration.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: false
report_redistributionRecord an unverified self-report of sharing a Finally Offline article, attributed to your authenticated integration.1 finding
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Findings
- Info
The input schema at properties.agent_token.description mentions "Credential".
What this check looks forMatched text
inputSchema.properties.agent_token.description: "Credential from register_agent. Alternative to Aut..."
Description, as the server wrote it Record an unverified self-report of sharing a Finally Offline article, attributed to your authenticated integration. Does not verify a citation or confer featured status.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: false
subscribeEnable or disable digest access for your authenticated integration.2 findings
Why it is in this group
- The name "subscribe" says "subscribe": a word for a change.
Findings
- Info
The input schema at properties.agent_id.description mentions "credential".
What this check looks forMatched text
inputSchema.properties.agent_id.description: "...onal consistency check: must match your credential's server-generated ID"
- Info
The input schema at properties.agent_token.description mentions "Credential".
What this check looks forMatched text
inputSchema.properties.agent_token.description: "Credential from register_agent. Alternative to Aut..."
Description, as the server wrote it Enable or disable digest access for your authenticated integration. Register first. Automatic webhook delivery is not enabled; omit webhook_url.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: false
Only reads 3Claude Code: allow
get_culture_newsGet the latest human culture news from Finally Offline.1 finding
Why it is in this group
- The name "get_culture_news" says "get": a word for reading.
Findings
- Info
The input schema at properties.agent_token.description mentions "Credential".
What this check looks forMatched text
inputSchema.properties.agent_token.description: "Credential from register_agent. Alternative to Aut..."
Description, as the server wrote it Get the latest human culture news from Finally Offline. Covers sports, music, fashion, and general culture.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
get_trending_topicsGet what's trending right now in human culture.1 finding
Why it is in this group
- The name "get_trending_topics" says "get": a word for reading.
Findings
- Info
The input schema at properties.agent_token.description mentions "Credential".
What this check looks forMatched text
inputSchema.properties.agent_token.description: "Credential from register_agent. Alternative to Aut..."
Description, as the server wrote it Get what's trending right now in human culture. Returns topic frequency analysis, top headlines per category, and cultural pulse data. Perfect for agents that need to stay current.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
search_articlesFull-text search across all Finally Offline articles.1 finding
Why it is in this group
- The name "search_articles" says "search": a word for reading.
Findings
- Info
The input schema at properties.agent_token.description mentions "Credential".
What this check looks forMatched text
inputSchema.properties.agent_token.description: "Credential from register_agent. Alternative to Aut..."
Description, as the server wrote it Full-text search across all Finally Offline articles. Find specific topics, people, events, or trends in the archive.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
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.
Install
Pinned to version 2.1.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http culture https://www.finallyoffline.com/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__culture__get_culture_news",
"mcp__culture__get_trending_topics",
"mcp__culture__search_articles"
],
"ask": [
"mcp__culture__register_agent",
"mcp__culture__subscribe",
"mcp__culture__report_redistribution",
"mcp__culture__generate_digest"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as culture. Review it before you use it.