tempo-insights
Tempo Insights MCP
依存関係のないModel Context Protocol (MCP)サーバーで、Tempo.coの公開レポートを対象としています。記事の取得、Tempo検索、記事レベルの調査ブリーフ、進行中のストーリーにわたる比較をサポートします。
ツール
tempo_search— クエリに対する公開Tempoリンクを検索します。tempo_article— 正規化された記事メタデータ、クリーンなテキスト、および存在する場合の関連ビデオ/埋め込みメタデータを返します。tempo_insights— 主張、エンティティ、日付、定量的シグナル、不確実性、関連ビデオコンテキストを含む抽出型ブリーフを生成します。tempo_compare— 2〜5件の記事を比較し、繰り返し出現するエンティティ、主張、タイムラインシグナルを対比します。tempo_auth_status— オプションの購読者認証が設定されているかどうかを、秘密情報を公開せずに報告します。
分析ツールはレポートを独立して検証するものではありません。出力は取得したソースからの抽出シグナルであることを明確にラベル付けします。
Related MCP server: Real Time News Data MCP Server
関連ビデオコンテキスト
Tempoの記事に関連ビデオが含まれている場合、サーバーは公開記事HTMLで利用可能なものから有用なコンテキストを抽出しようとします。
JSON-LD
VideoObject、Clip、またはMediaObjectメタデータ。OpenGraphビデオURL。
YouTube、Vimeo、その他のプレーヤー埋め込みなどの埋め込みビデオiframe。
ネイティブHTMLビデオソースとキャプショントラックリンク。
ページが構造化メタデータで公開している場合のトランスクリプトテキスト。
tempo_insightsは、そのビデオメタデータまたはトランスクリプトテキストをrelated_video_contextの下のブリーフに組み込みます。ビデオをダウンロードしたり、プレーヤーをバイパスしたり、音声を独自に文字起こししたりはしません。Tempoがキャプション、トランスクリプト、タイトル、説明なしでビデオを埋め込むだけの場合、インサイトは埋め込みメタデータに限定されます。
MCPクライアントへのインストール
次のサーバー定義を追加し、チェックアウトが別の場所にある場合は絶対パスに置き換えてください。
{
"mcpServers": {
"tempo-insights": {
"command": "node",
"args": ["/Users/yudistryanizharkamil/Documents/ChatGPT/Personal/src/index.js"]
}
}
}npm installステップは不要です。npm startで手動で実行してください。
購読者アクセス
Tempo.coは、サードパーティの記事アクセス向けの公開OAuthフローを公開していないようです。TempoはREMPを使用しています。ログインユーザートークンはn_tokenクッキーに格納され、Authorization: Bearer <n_token>としても送信されます。Hotjar _hjSession_*や_gaなどの分析クッキーはログイン資格情報ではありません。
購読アカウントの場合、MCPは環境変数による認証付きフェッチをサポートしています。
TEMPO_COOKIE— Cookieヘッダー、または素のn_token値。トラッカークッキーは除去され、素のトークンはn_token=...に正規化されます。TEMPO_COOKIE_FILE— そのクッキーを含むテキストファイルへのパス。ファイルはリクエストごとに再読み取りされます。TEMPO_AUTHORIZATION— オプションの上書き。省略した場合、MCPはクッキーからBearer <n_token>を導出します。
これはTempo Plusをバイパスするものではありません。MCPが、あなたのアカウントがすでにアクセスを許可されているコンテンツを取得できるようにするだけです。MCPはクッキー値を決して出力しません。
Chromeから正しいクッキーをエクスポートする
ChromeでTempoにサインインし、次を実行します。
npm run cookie:exportこのヘルパーは、ローカルプロファイルからChromeのTempoクッキーを読み取り、n_token、we_userid、status_user、remp_session_id、remp_session_referer、browser_idのみを保持し、~/.cursor/tempo.cookieに書き込みます。実行しない限り、クッキーをスクレイピングすることはありません。
次に、CursorをそのファイルにポイントしてMCPをリロードします。
{
"mcpServers": {
"tempo-insights": {
"command": "node",
"args": ["/Users/yudistryanizharkamil/Documents/ChatGPT/Personal/src/index.js"],
"env": {
"TEMPO_COOKIE_FILE": "/Users/yudistryanizharkamil/.cursor/tempo.cookie"
}
}
}
}tempo_auth_statusを使用して、n_token_presentとsubscribed_cookie_presentを確認します。Chromeがv20アプリバインド暗号化を使用している場合は、すでに読めるTempo Plus記事のDevToolsからCookieヘッダーをコピーし、同じファイルに保存して再実行します。
データ処理と制限
ホスト名がtempo.coまたはTempoサブドメインであるHTTPSリンクのみが受け入れられます。レスポンスはメモリ内に5分間キャッシュされ、アクティブな認証ヘッダーの短いハッシュをキーとして、匿名、静的クッキー、クッキーファイルのフェッチが衝突しないようにします。サーバーはブラウザ風のUser-Agentを使用し、ソースフェッチは15秒でタイムアウトし、抽出された記事テキストは35,000文字に制限されます。
Tempoのページマークアップは変更される可能性があります。記事抽出器は、メタデータにJSON-LDを最初に使用し、テキストに__NEXT_DATA__と記事本文のフォールバック、関連ビデオコンテキストにメディアフォールバックを使用します。ページが変更された場合は、src/index.jsのextractBodyまたはrelatedMediaを更新してください。
Available Tools
5 toolstempo_articleA
Fetch one public Tempo.co article and return clean text plus normalized metadata. Use this before requesting a deep insight for a particular URL.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | A public www.tempo.co (or Tempo subdomain) article URL. | |
| include_body | No | ||
| include_media | No | Include related video/embed metadata found on the article page. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. It states the tool fetches and returns data, implying a read-only operation, but does not explicitly state whether it is safe, requires authentication (given the presence of tempo_auth_status), or has any side effects or limitations (e.g., only public articles). This lack of behavioral disclosure is a gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler. The first sentence states the function, and the second gives a clear usage directive. Information is front-loaded and every word is purposeful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is relatively simple (one required param) and the description covers the main purpose and a usage hint. However, it lacks an output schema and does not mention behavioral constraints like authentication (despite the existence of tempo_auth_status), error handling, or any caveats about availability of public articles. An agent might not know if it needs to call tempo_auth_status first or what specific metadata fields to expect. So it is adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes the url and include_media parameters, providing 67% coverage. The description adds a general sense of the output ('clean text plus normalized metadata') but does not elaborate on the parameters beyond what the schema provides. The include_body parameter lacks a schema description, and the tool description doesn't compensate for that either. Minimal added value over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Fetch'), a specific resource ('one public Tempo.co article'), and the output ('clean text plus normalized metadata'). It also hints at a relationship with 'deep insight' (likely tempo_insights), which helps disambiguate from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use this before requesting a deep insight for a particular URL', which tells the agent when to use this tool relative to tempo_insights. It does not list other alternatives like tempo_search or tempo_compare, but it provides clear usage context for the primary workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tempo_auth_statusA
Report whether optional subscriber authentication headers are configured for Tempo fetches. Does not expose secrets.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does disclose that it does not expose secrets, which is a useful behavioral safety note. However, it does not mention potential side effects (though there likely are none), error behavior, or whether it makes any network calls. The security disclaimer adds value, but for a tool with zero annotations, more explicit behavioral context would be expected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the core purpose ('Report whether optional subscriber authentication headers are configured') followed by a valuable safety qualifier ('Does not expose secrets'). Every word earns its place; no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters and no output schema, the description provides the essential information an agent needs: what the tool reports and a critical security property. It is complete for a status-check tool, with no obvious gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so per the rubric the baseline is 4. The description does not need to add parameter meaning since there are none. It correctly focuses on the tool's purpose without unnecessary parameter discussion.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Report' and a precise object 'whether optional subscriber authentication headers are configured for Tempo fetches.' It clearly states what the tool does and distinguishes itself from siblings like tempo_search and tempo_article, which perform different operations. Even without reading the schema, an agent can tell this is a status check.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit guidance on when to use this tool versus the sibling tools. It implies it is a read-only status check, but does not state conditions for invocation, such as 'call this before attempting authenticated fetches' or 'use when you need to verify configuration.' Lacks any when-to-use or when-not-to-use context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tempo_compareA
Compare 2–5 Tempo.co articles. Highlights shared entities, repeated facts, differing framing, chronology, and reporting gaps. Useful for tracking a developing story.
| Name | Required | Description | Default |
|---|---|---|---|
| urls | Yes | ||
| focus | No | Optional comparison lens. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It describes what the comparison highlights, which is useful, but does not disclose any constraints like authentication requirements, potential latency, or failure modes. The tool appears to be read-only, but this is not explicitly stated. It is not misleading but lacks depth on behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no fluff. The core purpose is front-loaded, followed by a use-case example. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 2 parameters, no output schema, and no annotations, the description covers purpose, range, and use case, but omits details about the focus parameter and any prerequisites (e.g., whether URLs must be publicly accessible). An agent could likely call the tool correctly but might not understand the full scope of the focus lens or output format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%; the focus parameter's description ('Optional comparison lens') is vague. The tool description clarifies that the urls parameter should contain article URLs, but it does not elaborate on the focus parameter or its possible values. It adds some meaning to urls but falls short of compensating for the gap on focus.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Compare'), the resource ('Tempo.co articles'), and the scope (2–5 articles). It also lists specific outputs (shared entities, repeated facts, framing, chronology, gaps) and is distinct from sibling tools that search, fetch single articles, or provide insights.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context with 'Useful for tracking a developing story' but does not explicitly contrast with alternatives like tempo_search or tempo_insights. It implies use when multiple articles exist for comparison, but lacks explicit exclusion criteria or mentions of alternative conditions. Slightly above baseline.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tempo_insightsB
Turn a Tempo.co article into a research brief: executive summary, key claims, named entities, timeline signals, numbers, uncertainties, and questions to investigate. It is extractive and explicitly separates reported facts from inferred themes.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| focus | No | Optional lens, e.g. 'policy implications', 'company risk', or 'election timeline'. | |
| include_source_text | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It does disclose the extractive nature and that it separates facts from inferred themes, which is genuinely useful. However, it fails to mention anything about authentication requirements (the sibling tempo_auth_status hints auth is a real concern), output format, failure modes for non-Tempo URLs, or whether it caches results. For a tool that processes external URLs, these are material gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, information-dense sentence that front-loads the primary action and then enumerates the output artifacts. No wasted words, and the extractive/facts-vs-inference clause earns its place by adding behavioral nuance. It is concise without being terse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the tool's purpose and output structure well, but with no annotations and no output schema, an agent has to infer the return shape, error behavior (e.g., what happens for non-Tempo URLs or paywalled content), and whether auth is required. For a tool that ingests an external URL and produces a multi-part brief, these operational details matter. The facts-vs-inference separation is a nice touch but doesn't compensate for missing auth and error semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33%. The description names the focus parameter's purpose indirectly through the research-brief concept, but it doesn't explain what 'focus' does mechanically (narrow the extraction? bias the output structure?) beyond the example lens. The url parameter is obvious from the description ('Tempo.co article'), and include_source_text is self-explanatory from its boolean type. The description adds marginal context but doesn't fully compensate for the coverage gap on 'focus'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Turn into a research brief'), a clear resource (Tempo.co article), and enumerates the output structure (executive summary, key claims, named entities, timeline signals, etc.). It also distinguishes itself by characterizing its approach as 'extractive' with an explicit facts-vs-inference separation, which is unique among the listed siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus tempo_article, tempo_compare, or tempo_search. An agent cannot tell from the description whether it should run tempo_insights or tempo_article for a single article, or whether tempo_compare handles multi-article comparison. Sibling names suggest the comparison tool exists, but the description never mentions alternatives or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tempo_searchA
Search Tempo.co reporting by a query. Returns article candidates with title, URL, date, description, and section when available.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | Indonesian or English search phrase. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that results are 'candidates' with specific fields, but it does not mention potential side effects (e.g., read-only nature), authentication requirements (given sibling tempo_auth_status exists), or pagination/result limits beyond the schema. It provides some behavioral context but leaves gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, clear, and front-loaded with the main purpose. It avoids redundancy and includes only relevant information about what is returned. No filler or excessive detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple search tool, the description covers the query and return fields, but it lacks critical context such as authentication prerequisites (sibling tempo_auth_status implies auth may be needed) and any pagination or limit behavior. It does not mention sorting or how results are ordered, which an agent might need to know. Essential enough to score a 3, but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers 'query' with a description, but 'limit' has no description and the tool description does not mention either parameter. The description adds no value beyond the schema for the query parameter and fails to compensate for the undocumented limit parameter. Since schema coverage is 50% (not low, but not high), the description should at least reference the limit behavior; it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Search'), resource ('Tempo.co reporting'), and what it returns (article candidates with fields). It clearly distinguishes from siblings like tempo_article (likely retrieval of a specific article) and tempo_insights (likely analysis), so an agent can tell it apart without inspecting other tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when you have a query, but it does not explicitly mention when to use this tool versus alternatives. Sibling names suggest tempo_article is for specific article retrieval, but the description does not state 'use tempo_article when you have a direct URL' or similar exclusions. Guidance is implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a clearly distinct purpose: search, fetch, generate insights, compare, and check auth status. No overlap or ambiguity exists between them, making tool selection straightforward for an agent.
All tools share the 'tempo_' prefix and use snake_case, but there's a mix of verb-led names (tempo_search, tempo_compare) and noun-led names (tempo_article, tempo_insights, tempo_auth_status). Minor inconsistency, but the pattern is still predictable and readable.
With exactly 5 tools, the set is well-scoped and each tool earns its place in the news analysis workflow. This falls comfortably within the ideal range for a specialized server.
The core workflow of searching, fetching, analyzing, and comparing articles is covered, plus a useful auth status check. Minor gaps like bulk fetching or topic discovery exist, but they are not critical to the server's purpose and can be worked around.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Search, read, and automate TextMine documents, records, workflows, integrations, and agent tasks.
Search and analyze global news coverage and US TV transcripts via the GDELT Project APIs.
Summarize URLs, repurpose content, daily news digests, find competitors. Cost telemetry built in.
Real-time web search, reasoning, and research through Perplexity's API
Related MCP Servers
AlicenseNot gradedqualityAmaintenanceEnables access to comprehensive news data through the Perigon API, including searching for articles, stories, journalists, sources, people, companies, topics, and Wikipedia content with advanced filtering capabilities.6Apache 2.0- AlicenseBqualityDmaintenanceEnables access to real-time news articles through search, topic headlines, full story coverage, and geo-based local news across multiple countries and languages using the Real Time News Data API.7MIT
- FlicenseNot gradedqualityDmaintenanceEnables searching news, fetching top headlines, listing sources, and generating tech briefings via NewsAPI, with an optional browser frontend.
- FlicenseNot gradedqualityDmaintenanceEnables fetching top headlines, searching news articles across 150,000+ sources, and listing available news sources via NewsAPI.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/yudistryan/tempo-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server