Skip to main content
Glama
Sauravmehto

Local Stock Analyst MCP

by Sauravmehto

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:

  • stdio mode for local Claude Desktop integration (default)

  • HTTP mode for cloud hosting (for example, Render)

Tools

  • get_stock_price

  • get_quote

  • get_company_profile

  • get_candles

  • get_stock_news

  • get_rsi

  • get_macd

  • get_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_KEY

    • Alpha Vantage: ALPHAVANTAGE_API_KEY

Setup

  1. Install dependencies:

npm install
  1. Create env file from template:

copy .env.example .env
  1. Add your API keys to .env.

Build and Run

Build:

npm run build

Start locally (stdio MCP mode):

npm start

Start in HTTP mode (Render-style):

set MCP_TRANSPORT=http
set PORT=3000
npm start

HTTP endpoints:

  • MCP endpoint: /mcp

  • health 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.

  1. Push this project to GitHub.

  2. In Render, create a new Web Service from your repo.

  3. Configure:

    • Build Command: npm install && npm run build

    • Start Command: npm start

  4. Add environment variables:

    • MCP_TRANSPORT=http

    • FINNHUB_API_KEY=... (optional but recommended)

    • ALPHAVANTAGE_API_KEY=... (optional fallback)

    • PORT is auto-provided by Render.

  5. Deploy.

After deploy, verify:

  • https://<your-service>.onrender.com/healthz returns {"status":"ok"}

  • MCP server endpoint is https://<your-service>.onrender.com/mcp

Quick Test Prompts in Claude

  • "Call get_stock_price for MSFT."

  • "Call get_candles for MSFT, interval D, from 1704067200, to 1735689600, limit 5."

  • "Call get_rsi for MSFT, interval D, from 1704067200, to 1735689600."

Troubleshooting

  • No tools visible in Claude

    • Check JSON validity of claude_desktop_config.json.

    • Confirm build/index.js exists (npm run build).

    • Fully restart Claude Desktop.

  • Auth errors

    • Verify API keys in config env or 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 tools
get_candlesB

Get OHLCV candles for a symbol within a unix timestamp range.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes
intervalYesOne of 1,5,15,30,60,D,W,M
fromYesUnix seconds start time.
toYesUnix seconds end time.
limitNo

TDQS

B3.2/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes
intervalYes
fromYes
toYes
fastPeriodNo
slowPeriodNo
signalPeriodNo

TDQS

B3/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes

TDQS

B3.1/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes
intervalYes
fromYes
toYes
periodNo

TDQS

C2.8/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes
fromYes
toYes
limitNo

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYesTicker symbol, e.g. AAPL, MSFT, TSLA.

TDQS

B3.1/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

B3.4/5.0
Disambiguation4/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness4/5

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

Latest Blog Posts

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