praesentire-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@praesentire-mcpWhat's the sentiment on NVDA?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
praesentire-mcp
MCP server for Praesentire — bilingual financial news sentiment as a Claude tool.
What Claude gets
Three tools, one API:
Tool | What it does |
| Aggregated -1 to +1 sentiment score + confidence + bull/bear distribution + latest 3 articles with rationale, for one ticker. |
| Same aggregates for up to 50 tickers in one call. Each ticker bills as one request. |
| English vs Traditional Chinese sentiment side-by-side + divergence score. Designed for cross-market arbitrage signals. |
Sources: Reuters, Bloomberg, Yahoo Finance, CNBC (English) + 經濟日報, 工商時報, Anue 鉅亨 (繁中). Updated every 10 minutes.
Related MCP server: FinvizMCP
Install
You need a Praesentire API key. Sign up free — 100 req/day forever, no credit card.
Claude Code
Add to .mcp.json in your project root:
{
"mcpServers": {
"praesentire": {
"command": "npx",
"args": ["-y", "praesentire-mcp"],
"env": {
"PRAESENTIRE_API_KEY": "pr_your_key_here"
}
}
}
}Then claude and ask: "What's the sentiment on NVDA?"
Claude Desktop / Cowork
Edit your Claude Desktop config (%APPDATA%\Claude\claude_desktop_config.json on Windows, ~/Library/Application Support/Claude/claude_desktop_config.json on Mac):
{
"mcpServers": {
"praesentire": {
"command": "npx",
"args": ["-y", "praesentire-mcp"],
"env": {
"PRAESENTIRE_API_KEY": "pr_your_key_here"
}
}
}
}Restart Claude Desktop. The three tools will appear in the connectors list.
Local test
PRAESENTIRE_API_KEY=pr_your_key npx praesentire-mcp
# Server starts on stdio. Press Ctrl+C to stop.Example prompts
Once installed, Claude can answer things like:
"What's the news sentiment on NVDA right now?" → Calls
get_sentiment("NVDA"), returns aggregated score + the 3 articles driving it.
"Compare English vs Chinese sentiment on TSMC — is there divergence?" → Calls
compare_languages("TSM"), returns side-by-side plus divergence score. If|divergence| > 0.3, that's a notable cross-market signal.
"Sentiment on my watchlist: NVDA, AMD, AVGO, TSM, ASML, INTC, MU." → Calls
get_sentiment_batch(["NVDA","AMD",...]), returns all at once.
"Why is NVDA down today? Pull sentiment + latest articles." → Calls
get_sentiment("NVDA")and Claude summarises the rationales.
Pricing
Praesentire's pricing (the API behind this MCP):
Tier | Requests / day | Price |
Free | 100 | $0 forever |
Hobby | 1,000 | $19 / mo |
Pro | 10,000 | $99 / mo |
Business | 100,000 | $499 / mo |
Each tool call = 1 request. get_sentiment_batch with N tickers = N requests.
Configuration
Env vars:
Var | Default | Description |
| (required) | Your API key ( |
|
| Override if self-hosting / testing against staging. |
Error handling
The MCP server maps Praesentire's HTTP errors to LLM-friendly messages:
401 → "API key invalid or revoked. Create a new one at praesentire.com/dashboard."
429 → "Daily limit reached for tier X. Upgrade at praesentire.com/pricing or wait for reset."
400 → Specific validation error (invalid ticker, bad params).
5xx → "Praesentire API error N. Try again."
Links
License
MIT
Available Tools
3 toolscompare_languagesA
Compare English vs Traditional Chinese news sentiment for a ticker side-by-side, plus a divergence score. Designed for cross-market arbitrage signal detection — US press (Reuters/Bloomberg) often leads Taiwan/Asia press by hours. A large divergence (|divergence| > 0.3) often precedes mood shifts on Asia-listed semis or US names with strong TW supply chain exposure. Returns: english + chinese aggregates (article_count, average_score, confidence, distribution) and divergence = english.average_score - chinese.average_score. Positive divergence = English more bullish; negative = Chinese more bullish.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | Stock ticker symbol. Most useful for: Taiwan-listed names (TSMC, 2330.TW, 聯發科), US semis with Asia supply chain (NVDA, AMD, AVGO, ASML), and dual-listed ADRs. | |
| window_hours | No | Rolling time window in hours. Default 24, max 168. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It details the return values (english/chinese aggregates and divergence) and explains the behavioral trait that large divergence often precedes mood shifts. It does not mention destructive behavior (none needed) or auth/rate limits, but is transparent about output and interpretation.
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 three sentences, front-loaded with purpose. It is clear but slightly verbose in explaining divergence meaning and examples. Every sentence adds value, but could be tightened.
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 no output schema, the description fully explains return values and divergence formula. It covers purpose, usage context, parameters, and behavioral insights. For a 2-parameter tool with 100% schema coverage, it leaves no 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?
Schema coverage is 100%, so baseline is 3. The description adds value for ticker by listing useful examples (Taiwan-listed, US semis, ADRs), but for window_hours it largely repeats schema info (default, max, min). Overall, schema already documents parameters well.
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 explicitly states the tool compares English vs Traditional Chinese news sentiment side-by-side with a divergence score, and specifies its purpose for cross-market arbitrage signal detection. It is distinct from siblings like get_sentiment (single language) and get_sentiment_batch (batch for one language).
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 explains when to use (for cross-market arbitrage) and provides context about US press leading Taiwan/Asia press, as well as interpreting divergence. It lacks explicit 'when not to use' or comparison with sibling tools, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sentimentA
Get aggregated financial news sentiment for a single stock ticker over a rolling time window. Returns an -1 to +1 average score, confidence, article count, bullish/neutral/bearish distribution, and up to 3 latest articles with one-line rationale each. Sources: Reuters, Bloomberg, Yahoo Finance (English) + 經濟日報, 工商時報, Anue 鉅亨 (Traditional Chinese). Useful for: gauging market mood before opening a position, monitoring sentiment shifts post-earnings, explaining unusual price moves with news context.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | Stock ticker symbol (e.g. NVDA, TSM, AAPL). 1-10 letters, case-insensitive. Coverage skews to US large-caps and Taiwan-listed semis. | |
| window_hours | No | Rolling time window in hours. Default 24, max 168 (7 days). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It transparently describes the output format, sources (listing specific English and Chinese outlets), and coverage skew (US large-caps, Taiwan semis). It does not mention any destructive behavior or side effects, but as a read-only tool, this is acceptable. Lacks mention of rate limits or authentication needs.
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 concise and dense, covering purpose, output, sources, and usage in a few sentences. It is front-loaded with the main action. However, the 'Useful for' list could be integrated into a more structured format.
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 low complexity (2 parameters, no output schema), the description is remarkably complete. It explains the return value details, sources, and usage contexts. No output schema is needed as the description sufficiently describes the response.
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?
Input schema coverage is 100%, so schema already documents parameters. The description adds value by clarifying ticker case-insensitivity, length limits, and coverage bias, as well as window_hours default and max. This goes beyond the schema alone.
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 tool's purpose: get aggregated financial news sentiment for a single stock ticker. It specifies the output details (score range, confidence, article count, distribution, and latest articles) and sources. This distinguishes it from siblings like get_sentiment_batch (multiple tickers) and compare_languages (language comparison).
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 includes a 'Useful for' section with concrete scenarios: gauging market mood before a position, monitoring post-earnings sentiment, explaining price moves. This provides clear usage guidance. However, it does not explicitly state when not to use the tool or mention alternatives beyond sibling tool names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sentiment_batchA
Get sentiment for multiple tickers in one call. More efficient than calling get_sentiment N times when you have a watchlist. Each ticker counts as one request against the daily rate limit (so 10 tickers = 10 requests billed). latest_3 articles are omitted from each result to keep the response small — call get_sentiment for the full payload on any specific ticker.
| Name | Required | Description | Default |
|---|---|---|---|
| tickers | Yes | List of ticker symbols. 1-50 tickers per call. Example: ['NVDA', 'AMD', 'TSM', 'AVGO'] | |
| window_hours | No | Rolling time window in hours. Default 24, max 168. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, description fully discloses important behaviors: each ticker counts as separate request against daily rate limit, latest_3 articles omitted per result, and suggests fallback for full data. No contradictions.
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?
Four sentences, front-loaded with key purpose, each sentence adds distinct value: purpose, efficiency, rate limit, data truncation. No redundancy.
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 no output schema, description hints at response structure (articles omitted per result) but could explicitly state return format. Still adequately covers usage constraints and outcome.
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 covers both parameters with descriptions (100% coverage). Description adds no new parameter-specific details beyond schema. Baseline 3 is appropriate as schema does the work.
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?
Description clearly states 'Get sentiment for multiple tickers in one call' with specific verb and resource. Distinguishes from sibling get_sentiment by emphasizing it's for multiple tickers and more efficient for watchlists.
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?
Explicitly says when to use: 'More efficient than calling get_sentiment N times when you have a watchlist.' Also explains billing implications and data truncation, advising to call get_sentiment for full payload.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
3 tool updates
v0.1.0- First observed
compare_languages - First observed
get_sentiment - First observed
get_sentiment_batch
TDQS
Tools are mostly distinct: compare_languages is unique (cross-language comparison), while get_sentiment and get_sentiment_batch overlap but descriptions clarify batch is a more efficient bulk call without full article details.
Naming follows a consistent pattern: get_sentiment and get_sentiment_batch share the get_ prefix, compare_languages uses compare_ which is fitting. Minor deviation but overall predictable.
Three tools is reasonable for a focused sentiment analysis server. Each tool has a distinct role (single, batch, compare) without being overly minimal.
Covers key operations: single sentiment, batch sentiment, and cross-language comparison. Could benefit from historical trends or time-series, but core functionality is present.
Maintenance
Related MCP Connectors
MCP server for progressive tool usage at any scale (see https://klavis.ai)
MCP server giving AI agents one-connection access to China A-share market intelligence: financials,
Remote MCP server that returns sentiment analysis results from SentinelScan API.
MCP server exposing the Backtest360 engine API as tools for AI agents.
Related MCP Servers
- AlicenseBqualityBmaintenanceAI-powered trading toolkit with backtesting, live sentiment, Yahoo Finance data, and 30+ technical analysis tools, integrated as an MCP server for Claude and other AI clients.374,309MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that exposes Finviz stock screening, fundamentals, news, and market data as tools for MCP clients like Claude Code and Claude Desktop.MIT
- AlicenseBqualityCmaintenanceMCP server that wraps AKShare's 1000+ financial data functions, enabling LLMs to query Chinese stock, macro, futures, fund, bond, option, forex, and alternative data through standardized tools.143Apache 2.0
- AlicenseNot gradedqualityCmaintenanceFinancial intelligence for AI agents. Give Claude access to insider trading data, SEC filings, economic indicators, and multi-signal analysis — all through a single MCP server.MIT
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/Etha0916/praesentire-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server