Finally Offline
Human culture news, trends and search across sports, music, fashion and streetwear.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"culture": {
"url": "https://www.finallyoffline.com/mcp"
}
}
}원격 엔드포인트
https://www.finallyoffline.com/mcpstreamable-http할 수 있는 일
도구 목록
도구 (7)
🟡register_agent(agent_name, operator_name, operator_website, contact_email, usage_purpose, ...)
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.
입력 스키마
{
"type": "object",
"properties": {
"agent_name": {
"type": "string",
"maxLength": 120,
"description": "Name of your integration"
},
"operator_name": {
"type": "string",
"maxLength": 160,
"description": "Person, team or company operating it (self-reported)"
},
"operator_website": {
"type": "string",
"maxLength": 2048,
"description": "Optional public HTTPS website"
},
"contact_email": {
"type": "string",
"maxLength": 254,
"description": "Optional contact address, self-reported and not email verified"
},
"usage_purpose": {
"type": "string",
"maxLength": 500,
"description": "How this integration uses Finally Offline content"
},
"is_test": {
"type": "boolean",
"default": false,
"description": "Mark your own diagnostic/test integration"
}
},
"required": [
"agent_name",
"operator_name"
]
}🟢get_culture_news(category, limit, since, agent_token)
Get the latest human culture news from Finally Offline. Covers sports, music, fashion, and general culture.
입력 스키마
{
"type": "object",
"properties": {
"category": {
"type": "string",
"enum": [
"sports",
"music",
"fashion",
"culture",
"all"
],
"description": "Filter by category. Use 'all' for everything.",
"default": "all"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 20,
"description": "Number of articles to return (1-20)",
"default": 10
},
"since": {
"type": "string",
"enum": [
"1h",
"24h",
"7d",
"30d"
],
"description": "Time window for articles",
"default": "24h"
},
"agent_token": {
"type": "string",
"description": "Credential from register_agent. Alternative to Authorization: Bearer. Never put it in URLs."
}
}
}🟢get_trending_topics(timeframe, agent_token)
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.
입력 스키마
{
"type": "object",
"properties": {
"timeframe": {
"type": "string",
"enum": [
"today",
"this_week",
"this_month"
],
"description": "Time window for trending analysis",
"default": "this_week"
},
"agent_token": {
"type": "string",
"description": "Credential from register_agent. Alternative to Authorization: Bearer. Never put it in URLs."
}
}
}🟢search_articles(query, limit, agent_token)
Full-text search across all Finally Offline articles. Find specific topics, people, events, or trends in the archive.
입력 스키마
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Search query (e.g. 'NBA draft', 'streetwear', 'Drake')"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 20,
"description": "Number of results to return",
"default": 5
},
"agent_token": {
"type": "string",
"description": "Credential from register_agent. Alternative to Authorization: Bearer. Never put it in URLs."
}
},
"required": [
"query"
]
}⚪subscribe(agent_id, agent_name, webhook_url, enabled, categories, ...)
Enable or disable digest access for your authenticated integration. Register first. Automatic webhook delivery is not enabled; omit webhook_url.
입력 스키마
{
"type": "object",
"properties": {
"agent_id": {
"type": "string",
"description": "Optional consistency check: must match your credential's server-generated ID"
},
"agent_name": {
"type": "string",
"description": "Optional attribution label; does not change the registered profile"
},
"webhook_url": {
"type": [
"string",
"null"
],
"description": "Automatic webhook delivery is unavailable. Omit for digest access; null removes an existing webhook."
},
"enabled": {
"type": "boolean",
"default": true,
"description": "false disables this subscription"
},
"categories": {
"type": "array",
"items": {
"type": "string"
},
"description": "Categories to subscribe to: sports, music, fashion, culture, all",
"default": [
"all"
]
},
"agent_token": {
"type": "string",
"description": "Credential from register_agent. Alternative to Authorization: Bearer. Never put it in URLs."
}
},
"required": []
}⚪report_redistribution(agent_id, article_url, platform, agent_token)
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.
입력 스키마
{
"type": "object",
"properties": {
"agent_id": {
"type": "string",
"description": "Your agent identifier"
},
"article_url": {
"type": "string",
"description": "The Finally Offline article URL that was shared"
},
"platform": {
"type": "string",
"description": "Where it was shared (e.g. 'discord', 'twitter', 'newsletter', 'chat')"
},
"agent_token": {
"type": "string",
"description": "Credential from register_agent. Alternative to Authorization: Bearer. Never put it in URLs."
}
},
"required": [
"article_url"
]
}🟢generate_digest(category, since, agent_name, agent_token)
Generate a branded HTML digest for your subscribed integration. Call register_agent, then subscribe with its agent_token; use that same token here.
입력 스키마
{
"type": "object",
"properties": {
"category": {
"type": "string",
"enum": [
"sports",
"music",
"fashion",
"culture",
"all"
],
"description": "Category focus for the digest",
"default": "all"
},
"since": {
"type": "string",
"enum": [
"24h",
"7d",
"30d"
],
"description": "Time window for articles",
"default": "7d"
},
"agent_name": {
"type": "string",
"description": "Optional attribution label. The digest uses the name saved during registration."
},
"agent_token": {
"type": "string",
"description": "Credential from register_agent. Alternative to Authorization: Bearer. Never put it in URLs."
}
}
}커뮤니티
증거