Local Stock Analyst MCP
The Local Stock Analyst MCP server provides stock market data and analysis tools, integrating with Claude Desktop via stdio or deployable to cloud services via HTTP. It connects to Finnhub (primary) and Alpha Vantage (fallback) for reliable data.
Available tools:
get_stock_price– Latest traded price for a ticker symbolget_quote– Extended quote with open, high, low, and previous closeget_company_profile– Company background and profile detailsget_candles– Historical OHLCV candlestick data with configurable intervals (1, 5, 15, 30, 60 min, Daily, Weekly, Monthly) and Unix timestamp rangesget_stock_news– Recent news headlines within a specified date windowget_rsi– RSI indicator, with local computation fallback from candle dataget_macd– MACD indicator with configurable fast/slow/signal periods, with local computation fallbackget_key_financials– Key financial metrics and fundamentals
All tools include input validation (zod schemas), consistent output formatting, and informational disclaimers. A /healthz endpoint is available for deployment health checks.
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., "@Local Stock Analyst MCPWhat is the current price and RSI for AAPL?"
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.
Local Stock Analyst MCP (stdio)
Local TypeScript MCP server for Claude Desktop that exposes stock-analysis tools using:
Finnhub as the primary provider
Alpha Vantage as fallback
local indicator calculation fallback for RSI and MACD
The server supports:
stdiomode for local Claude Desktop integration (default)HTTPmode for cloud hosting (for example, Render)
Tools
get_stock_priceget_quoteget_company_profileget_candlesget_stock_newsget_rsiget_macdget_key_financials
Each tool validates input with zod, formats output consistently, and includes an informational disclaimer.
Requirements
Node.js 20.x (recommended for Render stability)
npm
API key for at least one provider:
Finnhub:
FINNHUB_API_KEYAlpha Vantage:
ALPHAVANTAGE_API_KEY
Setup
Install dependencies:
npm installCreate env file from template:
copy .env.example .envAdd your API keys to
.env.
Build and Run
Build:
npm run buildStart locally (stdio MCP mode):
npm startStart in HTTP mode (Render-style):
set MCP_TRANSPORT=http
set PORT=3000
npm startHTTP endpoints:
MCP endpoint:
/mcphealth check:
/healthz
Claude Desktop (Windows) Configuration
Open your Claude Desktop config file:
%APPDATA%\Claude\claude_desktop_config.json
Add/update:
{
"mcpServers": {
"local-stock-analyst": {
"command": "node",
"args": ["D:/mcpserverdemo/mcplocalstock/build/index.js"],
"env": {
"FINNHUB_API_KEY": "YOUR_FINNHUB_KEY",
"ALPHAVANTAGE_API_KEY": "YOUR_ALPHA_VANTAGE_KEY"
}
}
}
}Notes:
Use absolute paths in
args.Forward slashes are safe on Windows JSON paths.
Restart Claude Desktop after saving config.
Deploy on Render
Use a Web Service deployment.
Push this project to GitHub.
In Render, create a new Web Service from your repo.
Configure:
Build Command:
npm install && npm run buildStart Command:
npm start
Add environment variables:
MCP_TRANSPORT=httpFINNHUB_API_KEY=...(optional but recommended)ALPHAVANTAGE_API_KEY=...(optional fallback)PORTis auto-provided by Render.
Deploy.
After deploy, verify:
https://<your-service>.onrender.com/healthzreturns{"status":"ok"}MCP server endpoint is
https://<your-service>.onrender.com/mcp
Quick Test Prompts in Claude
"Call
get_stock_priceforMSFT.""Call
get_candlesforMSFT, intervalD, from1704067200, to1735689600, limit5.""Call
get_rsiforMSFT, intervalD, from1704067200, to1735689600."
Troubleshooting
No tools visible in Claude
Check JSON validity of
claude_desktop_config.json.Confirm
build/index.jsexists (npm run build).Fully restart Claude Desktop.
Auth errors
Verify API keys in config
envor local.env.
Rate-limit errors
Retry later, reduce call frequency, or use higher-tier keys.
The server automatically attempts Alpha Vantage fallback after Finnhub failures.
Logs
Claude Desktop logs are usually in
%APPDATA%\Claude\logs.Server startup/errors are written to stderr by the MCP process.
Available Tools
8 toolsget_candlesB
Get OHLCV candles for a symbol within a unix timestamp range.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | ||
| interval | Yes | One of 1,5,15,30,60,D,W,M | |
| from | Yes | Unix seconds start time. | |
| to | Yes | Unix seconds end time. | |
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states what the tool does but doesn't describe output format, pagination, rate limits, authentication needs, or error conditions, which are critical for a data retrieval tool.
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 a single, efficient sentence with zero wasted words. It front-loads the core purpose and scope, making it easy to parse quickly.
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 financial data tool with 5 parameters, no annotations, and no output schema, the description is incomplete. It lacks details on return format, error handling, and practical usage constraints, which are essential for effective tool invocation.
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 description coverage is 60%, with the description adding context about 'unix timestamp range' that clarifies the 'from' and 'to' parameters. However, it doesn't explain 'symbol' format, 'interval' meanings (e.g., D=day), or 'limit' behavior, leaving gaps in parameter understanding.
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 specific action ('Get OHLCV candles'), resource ('for a symbol'), and scope ('within a unix timestamp range'), distinguishing it from siblings like get_quote or get_stock_price which likely provide different financial data types.
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 is provided on when to use this tool versus alternatives. It doesn't mention prerequisites, limitations, or differentiate from sibling tools beyond the purpose, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_company_profileC
Get company profile details for a ticker.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes |
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 states 'Get' which implies a read operation, but doesn't mention any behavioral traits such as rate limits, authentication needs, error handling, or what 'company profile details' entails (e.g., data format, completeness). This leaves significant gaps for a tool with no annotation coverage.
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 a single, efficient sentence with no wasted words. It is appropriately sized and front-loaded, clearly stating the tool's purpose without unnecessary elaboration.
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 complexity of financial data tools, no annotations, no output schema, and low schema description coverage, the description is incomplete. It doesn't explain what 'company profile details' includes, how results are structured, or any limitations, making it inadequate for reliable agent use.
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 description adds minimal semantics by specifying 'for a ticker', which implies the 'symbol' parameter represents a stock ticker. However, with 0% schema description coverage and only one parameter, this provides some context but doesn't fully compensate for the lack of schema details like valid ticker formats or examples.
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 'Get' and the resource 'company profile details for a ticker', making the purpose understandable. It doesn't explicitly differentiate from siblings like get_quote or get_key_financials, but the focus on 'company profile' provides some distinction.
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 provides no guidance on when to use this tool versus alternatives like get_quote or get_key_financials. It mentions 'company profile details' but doesn't clarify what that includes or excludes compared to other tools, leaving the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_key_financialsC
Get key financial metrics for a ticker.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the action ('Get') but doesn't describe what 'key financial metrics' includes, whether it's real-time or historical data, rate limits, authentication needs, or error handling. This leaves significant gaps for a tool that presumably fetches financial data.
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 a single, efficient sentence with no wasted words. It's front-loaded with the core action and resource, making it easy to parse quickly.
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 annotations, no output schema, and low schema coverage, the description is incomplete. It doesn't explain what 'key financial metrics' entails, the data format, potential errors, or how this differs from sibling tools, making it inadequate for reliable tool selection and invocation.
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 description mentions 'ticker', which aligns with the 'symbol' parameter in the schema, adding some semantic context. However, with 0% schema description coverage and only one parameter, the baseline is 4, but the description doesn't fully compensate by explaining format expectations (e.g., ticker symbols like 'AAPL') or constraints, so it scores slightly lower.
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 ('Get') and resource ('key financial metrics for a ticker'), making the purpose understandable. However, it doesn't distinguish this tool from potential siblings like 'get_quote' or 'get_company_profile' that might also provide financial data, so it lacks specific differentiation.
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 provides no guidance on when to use this tool versus alternatives like 'get_quote' or 'get_company_profile'. It doesn't mention prerequisites, exclusions, or specific contexts for usage, leaving the agent to infer based on tool names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_macdB
Get MACD indicator values. Uses provider MACD when available, otherwise computes from candles.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | ||
| interval | Yes | ||
| from | Yes | ||
| to | Yes | ||
| fastPeriod | No | ||
| slowPeriod | No | ||
| signalPeriod | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions the fallback computation method ('computes from candles'), which adds some behavioral context. However, it lacks critical details: whether this is a read-only operation, potential rate limits, authentication needs, error conditions, or what the output format looks like. For a 7-parameter tool with no annotations, this is insufficient.
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 extremely concise—two short sentences with zero wasted words. It's front-loaded with the core purpose ('Get MACD indicator values') followed by implementation detail. Every sentence earns its place by adding value about the tool's behavior.
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 complexity (7 parameters, technical indicator calculation), no annotations, and no output schema, the description is incomplete. It doesn't explain parameter meanings, output format, error handling, or usage constraints. For a tool that likely returns numerical time-series data, more context is needed for effective agent use.
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 description coverage is 0%, so the description must compensate for undocumented parameters. The description mentions 'MACD indicator values' and the computation method but doesn't explain any of the 7 parameters (symbol, interval, from, to, fastPeriod, slowPeriod, signalPeriod) or their roles in MACD calculation. It fails to add meaningful semantics beyond what the bare schema provides.
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 MACD indicator values' specifies the verb (get) and resource (MACD indicator values). It distinguishes from siblings like get_candles or get_rsi by focusing on MACD specifically. However, it doesn't explicitly contrast with get_rsi (another technical indicator tool) beyond mentioning MACD.
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 provides implied usage context: 'Uses provider MACD when available, otherwise computes from candles' suggests this tool should be used for MACD calculations, with a fallback method. However, it doesn't explicitly state when to use this vs. alternatives like get_rsi or get_candles for similar analysis, nor does it mention prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_quoteB
Get extended quote fields including open, high, low, and previous close.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It describes what data is returned but doesn't disclose behavioral traits such as whether it's a real-time or delayed quote, rate limits, authentication needs, error handling, or data freshness. This leaves significant gaps for a financial data tool.
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 a single, efficient sentence that front-loads the key information (getting extended quote fields) and lists specific data points. There's no wasted wording, making it easy to scan and understand quickly.
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 complexity of financial data tools, no annotations, no output schema, and 0% schema description coverage, the description is incomplete. It doesn't explain return values, error conditions, data sources, or how it differs from siblings, leaving the agent with insufficient context for reliable use.
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 has 1 parameter (symbol) with 0% description coverage, so the description must compensate. It doesn't mention the symbol parameter at all, but since there's only one parameter and its purpose is implied by the tool name, the description's focus on output fields provides some context. Baseline would be lower for multiple undocumented parameters.
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 ('Get') and resource ('extended quote fields'), specifying the data points included (open, high, low, previous close). It distinguishes from siblings like get_stock_price by indicating extended fields, but could be more explicit about what makes it different from get_candles or get_key_financials.
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 is provided on when to use this tool versus alternatives like get_stock_price (basic price), get_candles (historical data), or get_key_financials (financial metrics). The description implies it's for extended quote data but doesn't specify use cases or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_rsiC
Get RSI (Relative Strength Index). Uses provider RSI when available, otherwise computes from candles.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | ||
| interval | Yes | ||
| from | Yes | ||
| to | Yes | ||
| period | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions the fallback computation behavior ('otherwise computes from candles'), which is useful context about reliability and data sources. However, it doesn't disclose critical behavioral traits like whether this is a read-only operation, potential rate limits, authentication requirements, error conditions, or what the output format looks like.
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 extremely concise with only two sentences that both earn their place. The first sentence states the core purpose, and the second adds valuable implementation context. There's zero waste or redundancy, and it's appropriately sized for this type of tool.
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 a technical indicator tool with 5 parameters (0% documented in schema), no annotations, and no output schema, the description is incomplete. It explains what RSI is and the computation approach but doesn't cover parameter meanings, output format, error conditions, or when to use versus alternatives. For a financial data tool with multiple parameters, this leaves significant 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?
With 0% schema description coverage for 5 parameters, the description provides no information about any parameters. It doesn't explain what 'symbol', 'interval', 'from', 'to', or 'period' mean in the context of RSI calculation. The description mentions 'candles' which relates to parameters but doesn't explicitly connect to them or provide semantic meaning.
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 RSI (Relative Strength Index)' with the specific action 'get' and resource 'RSI'. It distinguishes from siblings like get_candles or get_macd by focusing on RSI specifically. However, it doesn't fully differentiate from all siblings (e.g., get_quote also retrieves financial data).
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 provides no guidance on when to use this tool versus alternatives. It mentions 'Uses provider RSI when available, otherwise computes from candles' which is an implementation detail, not usage guidance. There's no indication of when RSI is needed versus other indicators like MACD or basic price data from get_quote.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_stock_newsC
Get stock news headlines within a date window (YYYY-MM-DD).
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | ||
| from | Yes | ||
| to | Yes | ||
| limit | 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 states the tool retrieves news headlines but doesn't mention critical traits like whether it's read-only, if there are rate limits, authentication needs, pagination, or error handling. For a tool with no annotations, this is a significant gap in transparency, as it omits essential operational details.
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 extremely concise and front-loaded, consisting of a single sentence that directly states the tool's function. There is no wasted language or unnecessary elaboration, making it efficient and easy to parse for an AI agent.
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 complexity of a 4-parameter tool with no annotations and no output schema, the description is incomplete. It lacks details on behavior, parameter meanings beyond dates, and expected outputs. For a tool that likely returns structured news data, this leaves the agent with insufficient context to use it effectively without additional assumptions.
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 description adds minimal semantic value beyond the input schema. It implies date parameters ('within a date window (YYYY-MM-DD)') but doesn't explain the 'symbol' or 'limit' parameters. With 0% schema description coverage, the description partially compensates by hinting at date usage, but it doesn't fully address the four parameters, leaving gaps in understanding their roles and constraints.
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 stock news headlines within a date window (YYYY-MM-DD).' It specifies the verb ('Get'), resource ('stock news headlines'), and scope ('within a date window'), which is clear and specific. However, it doesn't explicitly differentiate from sibling tools like get_quote or get_company_profile, which might also provide news-related data, so it doesn't reach a perfect score.
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 provides no guidance on when to use this tool versus alternatives. It mentions a date window but doesn't specify scenarios, prerequisites, or exclusions. For example, it doesn't indicate if this is for recent news only or if there are limitations compared to siblings like get_company_profile. This lack of context leaves the agent without clear usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_stock_priceB
Get latest traded stock price for a ticker symbol.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Ticker symbol, e.g. AAPL, MSFT, TSLA. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. While 'Get latest traded stock price' implies a read-only operation, it doesn't specify data freshness (real-time vs. delayed), rate limits, authentication requirements, error conditions, or what 'latest' means in practical terms. The description provides basic intent but lacks operational context.
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 a single, focused sentence that efficiently communicates the core functionality without any wasted words. It's appropriately sized for a simple tool with one parameter and gets straight to the point.
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 price lookup tool with good schema coverage but no annotations or output schema, the description is minimally adequate. It states what the tool does but lacks important context about data characteristics, limitations, and differentiation from sibling tools. The agent would need to infer or test behavioral details.
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 description coverage is 100%, with the single parameter 'symbol' well-documented in the schema itself. The description doesn't add any meaningful parameter semantics beyond what the schema already provides about ticker symbol format and constraints. This meets the baseline expectation when schema coverage is complete.
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 action ('Get latest traded stock price') and resource ('for a ticker symbol'), making the purpose immediately understandable. However, it doesn't explicitly differentiate this tool from its siblings like 'get_quote' or 'get_candles', which likely provide related but different financial data.
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 provides no guidance on when to use this tool versus alternatives like 'get_quote' or 'get_candles'. It states what the tool does but offers no context about when this specific price retrieval is appropriate compared to other financial data tools available.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Most tools are clearly distinct, targeting different data types like candles, profiles, financials, indicators, quotes, news, and prices. However, get_quote and get_stock_price could be confused as both provide price-related information, with some overlap in purpose (e.g., quote includes price data). The descriptions help differentiate them, but an agent might misselect between these two for basic price queries.
All tools follow a consistent verb_noun pattern with 'get_' prefix, such as get_candles, get_company_profile, and get_key_financials. This predictability makes it easy for agents to understand and use the toolset without confusion from mixed naming conventions.
With 8 tools, the server is well-scoped for a local stock analyst purpose, covering key aspects like price data, financial metrics, technical indicators, and news. Each tool earns its place by addressing a specific need in stock analysis without being overly sparse or bloated.
The toolset provides good coverage for stock analysis, including data retrieval for prices, financials, indicators, and news. Minor gaps exist, such as the lack of tools for updating or managing data (e.g., no set or delete operations), but agents can work around this as the focus is on read-only analysis. Core workflows are well-supported.
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
Global stock research, ML forecasts, valuation signals, screeners & portfolio tracking in Claude
Analyze stocks with summaries, price targets, and analyst recommendations. Track SEC filings, divi…
Finnhub MCP — wraps Finnhub Stock API (finnhub.io)
Fetch current stock prices and key data for symbols across global markets. Look up companies like…
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/Sauravmehto/mcplocalstockrenderlive'
If you have feedback or need assistance with the MCP directory API, please join our Discord server