FinPilot AI
Enables the FinPilot AI agent to send executive reports and emails to stakeholders using Gmail's SMTP service.
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., "@FinPilot AIRun a DCF valuation on Tesla and send the executive report to my email"
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.
FinPilot AI: The Autonomous Investment Banking Agent with Rich MCP UI
FinPilot AI is a next-generation Model Context Protocol (MCP) server that transforms standard LLMs into autonomous investment bankers.
FinPilot AI: The Autonomous Investment Banking Agent with Rich MCP UI is an MCP (Model Context Protocol) server that extends AI assistants โ like Claude, Cursor, and any MCP-compatible client โ with new, real-world capabilities. It is built and deployed on Nitrostack, the fastest way to build, deploy, and share MCP apps.
Table of Contents
Related MCP server: OpenInsider MCP
Overview
FinPilot AI is a next-generation Model Context Protocol (MCP) server that transforms standard LLMs into autonomous investment bankers. Unlike traditional financial data plugins that simply return raw JSON or text, FinPilot features a Multi-Agent Orchestrator that coordinates specialized sub-agents to fetch live market data, calculate fundamental ratios, run Discounted Cash Flow (DCF) valuations, and assess portfolio diversification.
What truly sets FinPilot apart is its Server-Driven UI architecture. Using NitroStack's widget system, FinPilot dynamically renders stunning, interactive, glassmorphism React micro-frontends directly inside the chat interface. Furthermore, FinPilot bridges the gap between analysis and action by automatically compiling its findings into executive reports and securely emailing them to stakeholders via a custom SMTP integration.
What is MCP?
The Model Context Protocol (MCP) is an open standard that lets AI assistants securely connect to external tools, data sources, and services. Instead of being limited to what it was trained on, an AI model can call MCP servers to fetch live data, run actions, and integrate with real systems.
This project is one such MCP server. Learn more about building and shipping MCP apps at nitrostack.ai.
Features
๐ MCP-native โ works with any MCP-compatible client (Claude, Cursor, and more)
๐ ๏ธ Tools, resources & prompts โ exposes structured capabilities to AI agents
โก Deployed on Nitrostack โ reliable, hosted, and instantly shareable
๐ Secure by design โ secrets stay in environment variables, never in code
๐งฉ Composable โ combine with other MCP apps to build powerful AI workflows
Live Demo
๐ Live MCP endpoint: https://finpilot-6a6d8635-rushd-srmist.app.nitrocloud.ai/mcp
Point your MCP client at the endpoint above to try it instantly. Prefer a hosted setup? Deploy your own in minutes on Nitrostack.
Getting Started
Prerequisites
Node.js 18+ (or your project runtime)
An MCP-compatible client (Claude Desktop, Cursor, etc.)
Installation
git clone https://github.com/ShahzaadAhmed/MCP_project.git
cd MCP_project
npm installConfiguration
Copy the example environment file and add your own values:
cp .env.example .envEnsure you set the following environment variables if you want to enable the email-sending features:
GMAIL_USER=your_gmail_address
GMAIL_APP_PASSWORD=your_16_character_app_passwordRun
npm run startConnect to an MCP Client
Add this server to your MCP client configuration. A typical entry looks like:
{
"mcpServers": {
"finpilot": {
"url": "https://finpilot-6a6d8635-rushd-srmist.app.nitrocloud.ai/mcp"
}
}
}Restart your client and the tools from this MCP server will be available to your AI assistant.
Deploy Your Own MCP App
Want to build and ship an MCP server like this one? Nitrostack lets you create, deploy, and host MCP apps in minutes โ no infrastructure to manage.
๐ Start building: https://nitrostack.ai
Explore More MCP Apps
๐ Discover and share MCP projects with the community on r/mcptothemoon
๐งฐ Browse a growing catalog of MCP apps on Nitrostack
FAQ
What is an MCP server?
An MCP server implements the Model Context Protocol to expose tools, resources, and prompts that AI assistants can call. It lets an AI model take real actions and access live data.
What does FinPilot AI: The Autonomous Investment Banking Agent with Rich MCP UI do?
FinPilot AI is a next-generation Model Context Protocol (MCP) server that transforms standard LLMs into autonomous investment bankers.
Which AI clients does this work with?
Any MCP-compatible client, including Claude Desktop and Cursor. New clients are adding MCP support regularly.
How do I deploy my own MCP app?
Use Nitrostack to build, deploy, and host MCP apps without managing infrastructure.
Keywords
BFSI & FinTech ยท FinPilot AI: The Autonomous Investment Banking Agent with Rich MCP UI ยท MCP ยท Model Context Protocol ยท MCP server ยท MCP app ยท AI tools ยท AI agents ยท LLM tools ยท Claude MCP ยท Nitrostack ยท deploy MCP server ยท build MCP app
License
MIT ยฉ 2026
Built with โค๏ธ using the Model Context Protocol on Nitrostack. Share your MCP app on r/mcptothemoon.
Available Tools
12 toolsanalyze_portfolio_diversificationB
Analyze the sector and asset class diversification of a given stock portfolio.
| Name | Required | Description | Default |
|---|---|---|---|
| holdings | Yes | Array of portfolio holdings |
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 not disclose return format, side effects, data sensitivity, or operational behavior (e.g., read-only nature, output structure). For a tool that performs analysis, this is a significant 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?
The description is a single, concise sentence with no redundant information. It is front-loaded with the verb and resource, making it easy to parse.
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's simplicity (one parameter), the description is minimally adequate. However, with no output schema and no behavioral notes, the agent cannot know what the analysis returns or how to interpret results, leaving a notable gap in completeness.
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 fully documents the 'holdings' parameter, so schema coverage is 100%. The description adds no additional meaning beyond the schema; it simply restates the overall purpose. Baseline 3 is appropriate.
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 a specific verb ('Analyze') and resource ('sector and asset class diversification of a given stock portfolio'). This distinguishes it from siblings like get_risk_assessment (risk) or generate_investment_report (broader report).
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, nor any exclusions or prerequisites. The agent must infer usage solely from the name and description, which is ambiguous relative to related sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculateC
Perform basic arithmetic calculations
| Name | Required | Description | Default |
|---|---|---|---|
| a | Yes | First number | |
| b | Yes | Second number | |
| operation | Yes | The operation to perform |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description carries the full burden for disclosing behavior. The description only states 'basic arithmetic calculations' and gives no information about side effects, safety, exact operation handling (e.g., division by zero), return format, or any other behavioral trait. This minimal disclosure is inadequate for a tool with no structured annotation support.
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 sentence that directly states the tool's purpose without any wasted words. It is highly concise and front-loaded, though it borders on being under-specified. One sentence earns its place, but it could be expanded without becoming verbose.
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 (3 simple parameters) and full schema coverage, the description might seem adequate at first glance. However, with no annotations and no output schema, the description fails to explain return values or provide usage context. It also doesn't distinguish this generic 'calculate' from the more specialized financial calculation siblings, making the overall description incomplete for an agent to correctly select and invoke it.
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 provides descriptions for all three parameters (a, b, operation) with a full enum for operation, so schema coverage is 100%. The tool description adds no extra meaning beyond what the schema already states. Per the calibration baseline, a score of 3 is appropriate when the schema does the heavy lifting.
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 clear verb ('Perform') and resource ('basic arithmetic calculations'), so the primary action is understandable. However, it doesn't differentiate from sibling tools like 'calculate_financial_ratios' or 'convert_temperature', both of which are also calculation-type tools. Thus, it meets the 'clear but no sibling differentiation' criterion.
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. There is no mention of suitable scenarios, exclusions, or relationship to sibling tools. Since no context is given beyond the one-sentence purpose, the agent is left without direction on selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_financial_ratiosB
Calculate and retrieve key financial ratios like P/E, Debt-to-Equity, and ROE.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | The stock ticker symbol |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden for behavioral disclosure. It does not mention data sources, time periods, or any limitations. While 'calculate and retrieve' implies a read-only operation, it adds no context beyond the basic action.
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, front-loaded sentence with no redundant information. It efficiently conveys the core function and gives concrete examples, making it highly concise and well-structured.
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 simple with one parameter and no output schema. The description covers the essential output (ratios) and gives examples, which is sufficient for basic understanding. However, it lacks details on return format or use context, slightly reducing completeness.
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 fully describes the only parameter (`ticker` as stock ticker symbol), achieving 100% schema coverage. The description adds no additional meaning or format details, so the baseline score of 3 is appropriate.
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: 'Calculate and retrieve key financial ratios'. It provides specific examples (P/E, Debt-to-Equity, ROE) that distinguish it from sibling tools like get_financial_statements or run_dcf_valuation. The verb+resource combination is specific and unambiguous.
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 offers no guidance on when to use this tool vs. alternatives. There is no mention of prerequisites, scenarios, or exclusion of other tools. A user would have to infer usage from the name and examples alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
convert_temperatureB
Convert temperature units based on file content or direct input. Supports Celsius (C) and Fahrenheit (F).
| Name | Required | Description | Default |
|---|---|---|---|
| value | No | Temperature value to convert | |
| to_unit | No | Unit to convert to (C or F) | |
| file_name | Yes | Name of the uploaded file | |
| file_type | Yes | MIME type of the uploaded file | |
| from_unit | No | Unit to convert from (C or F) | |
| file_content | Yes | Base64 encoded file content. Will be injected by system. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral disclosure burden. It only says 'based on file content or direct input' but does not explain how the file is processed, whether the file fields are mandatory, what the output format is, or any side effects. This leaves significant behavioral unknowns.
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 followed by a short clarification. Every word contributes to the core purpose, and it is front-loaded with the action. It is appropriately sized for a simple conversion 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?
The tool has six parameters and two execution modes, yet the description gives no information about return values, input mode prerequisites, or edge cases. The absence of an output schema further increases the need for descriptive context, and this description falls short.
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 description coverage is 100%, so the baseline is 3. The description adds the concept of two input modes (file and direct) but does not clarify how the parameters interrelate (e.g., which fields to provide for direct input, or that file_content is injected). It provides marginal 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 action ('Convert temperature units') and names the supported units (Celsius/Fahrenheit). This clearly distinguishes it from sibling tools like calculate or get_stock_price. The mention of 'file content or direct input' adds scope but doesn't detract from clarity.
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 choose this tool over alternatives like calculate, nor does it explain when to use direct input versus file content. It simply describes the conversion function without any contextual cues or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
email_investment_reportB
Emails an investment report to a specified address.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | The stock ticker symbol | |
| emailAddress | Yes | The recipient email address | |
| reportContent | Yes | The full text or summary of the report to email |
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 merely states that an email is sent, without detailing any side effects, permissions required, delivery guarantees, or error behavior. For a side-effecting action like sending email, this is a significant 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?
The description is a single, concise sentence with no redundancy, front-loading the verb and core purpose. Every word earns its place, making it highly efficient.
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 tool with fully documented parameters, the description is minimally viable. However, it omits any context about prerequisites (e.g., whether a report must already exist), connection to sibling tools, or expected outcomes, which would be helpful given the absence of annotations and output schema.
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 all three parameters (ticker, emailAddress, reportContent) with 100% coverage. The description adds no additional parameter-level meaning, so it meets the baseline but does not enhance understanding beyond 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 clearly states the action ('Emails') and the object ('an investment report'), with a recipient address specified. This unambiguously distinguishes it from sibling tools like generate_investment_report, which creates reports rather than sends them.
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 offers no guidance on when to use this tool versus alternatives. It does not mention that a report should be generated first (e.g., via generate_investment_report) or any scenario where this tool is the appropriate choice, leaving the agent to infer usage entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_investment_reportC
Aggregates findings into a comprehensive AI investment report.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | The stock ticker symbol | |
| summary | Yes | Executive summary text | |
| recommendation | Yes | Final investment recommendation |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It states the tool aggregates findings but doesn't specify whether it is a pure function, persistence side effects, authentication requirements, or output format. This lack of context is a significant gap for a generation 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, focused sentence without extraneous words. It's appropriately concise, though it could include more detail without becoming bloated.
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 has simple parameters and full schema coverage, but no output schema and no annotations. The description leaves ambiguity about what the report contains or how it's delivered. For a low-complexity tool, it's minimally 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?
Schema description coverage is 100%, so the baseline is 3. The description doesn't add any parameter-specific meaning beyond what the schema already provides, but it doesn't need to given full coverage.
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 'aggregates' and resource 'AI investment report,' clearly indicating the tool creates a report. However, it doesn't differentiate from siblings like email_investment_report or orchestrate_financial_analysis, so it lacks sibling 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?
No guidance is provided about when to use this tool versus the sibling tools. The description doesn't mention prerequisites, alternative tools, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_financial_statementsB
Retrieve the income statement, balance sheet, or cash flow statement for a company.
| Name | Required | Description | Default |
|---|---|---|---|
| period | No | The reporting period | annual |
| ticker | Yes | The stock ticker symbol | |
| statementType | Yes | The type of financial statement to retrieve |
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. The word 'Retrieve' implies a read-only operation, but the description does not disclose return format, authentication needs, rate limits, or any other behavioral traits beyond the basic action.
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, front-loaded sentence with no filler or repetition. Every word contributes to conveying the tool's core function.
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 is adequate for a simple retrieval tool, and the schema fully documents parameters. However, without annotations or an output schema, and with no usage guidance or behavioral context, the description is not fully complete for an agent to confidently invoke it in all situations.
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 100% description coverage for all parameters, including enum values for statementType and period. The description adds no additional parameter meaning beyond what the schema already provides, so the baseline score of 3 applies.
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 the specific verb 'Retrieve' and names the exact resources (income statement, balance sheet, cash flow statement) for a company, clearly distinguishing it from sibling tools like get_stock_price or calculate_financial_ratios.
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 doesn't mention exclusions or contrast with siblings such as calculate_financial_ratios or get_market_news, 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_market_newsA
Retrieve real market news articles for a specific stock.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | The stock ticker symbol to filter news by |
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 only states that news articles are retrieved; it does not mention whether results include titles, full text, publication dates, rate limits, or whether 'real' implies live data vs. simulated. This is a minimal but not fully transparent description.
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 concise sentence that fully communicates the core action and target resource without unnecessary words or redundancy. It is front-loaded and easy to parse.
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 tool with one parameter and no nested objects or output schema, the description is mostly complete. It clearly indicates the result (news articles) and the input (ticker), but it could benefit from a note on the output format or time sensitivity. However, the low complexity makes this an acceptable level of completeness.
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 100% description coverage, with the ticker parameter clearly described as 'The stock ticker symbol to filter news by.' The description's mention of 'specific stock' aligns with the schema but adds no additional meaning beyond what the schema already provides. Baseline 3 is appropriate.
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 retrieves market news articles filtered by a specific stock ticker. The verb 'Retrieve' with resource 'real market news articles' and scope 'for a specific stock' makes the purpose unambiguous and distinguishes it from sibling tools like get_stock_price or get_financial_statements.
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 needing news for a particular stock (via ticker), but provides no explicit guidance on when to prefer this tool over alternatives or when not to use it. There are no exclusions or comparison to sibling news-related tools (if any), so usage context is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_risk_assessmentB
Assess the live risk profile of a company including beta.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | The stock ticker symbol |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for disclosing behavior. It only mentions 'live' and 'beta,' but fails to state whether the operation is read-only, what data sources are used, or how the risk profile is computed. This leaves significant unknowns for an agent.
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, front-loaded sentence with no filler. Every word contributes to conveying the core action and scope, making it highly efficient.
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 absence of both annotations and an output schema, the description alone should explain what the risk profile contains. It only mentions beta, leaving other potential metrics unspecified. The tool appears simple, but the description is too sparse for an agent to fully understand what will be returned.
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%, and the parameter 'ticker' is already described as 'The stock ticker symbol.' The description adds no extra semantic meaning beyond calling the target a 'company,' which does not materially enhance understanding of the parameter.
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 ('Assess') and resource ('live risk profile of a company') and further specifies a key output ('including beta'). This clearly distinguishes it from sibling tools like get_stock_price or calculate_financial_ratios, which focus on different 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?
No guidance is provided on when to use this tool versus alternatives. The word 'live' implies real-time context, but there is no explicit statement about suitability, prerequisites, or exclusion of other tools such as calculate_financial_ratios or run_dcf_valuation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_stock_priceA
Retrieve the current real-time stock price and historical data for a given ticker symbol.
| Name | Required | Description | Default |
|---|---|---|---|
| period | No | The historical time period to fetch | 1D |
| ticker | Yes | The stock ticker symbol (e.g., AAPL, MSFT) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavioral traits. The verb 'retrieve' implies a read-only operation, but it doesn't disclose data freshness, return format, or any rate limits. It adds some context about real-time and historical data but remains minimal.
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, clear sentence that immediately states the action and scope. No filler or redundant information.
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 simple tool with two parameters and no output schema, the description covers the core purpose but omits mention of the period parameter and the exact return data. This leaves some ambiguity about what 'historical data' includes, making it slightly incomplete.
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 already documents both parameters (ticker and period) with descriptions and an enum for period, achieving 100% coverage. The description adds no additional meaning beyond mentioning the ticker symbol, so it relies fully on 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 uses a specific verb 'retrieve' and names the resource 'current real-time stock price and historical data' along with the input 'ticker symbol', clearly distinguishing it from sibling tools like get_market_news or get_risk_assessment.
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 explicit when-to-use or alternatives are given; usage is implied by the description. It doesn't contrast with get_financial_statements or run_dcf_valuation, leaving the agent to infer when to select this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
orchestrate_financial_analysisB
Coordinates multiple agents (Market Data, Financials, Valuation) to produce a unified analysis of a stock.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The natural language question from the user (e.g. "Is AAPL a good buy right now?") | |
| ticker | Yes | The target ticker symbol extracted from the query |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavioral traits. It only mentions coordination of multiple agents, but does not state whether the operation is read-only, describe potential side effects, error handling, or output format. For an orchestration tool, this is insufficient transparency without annotation safety hints.
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 sentence, front-loaded with the key verb 'Coordinates,' and contains no redundant or extraneous information. It is highly concise and well-structured.
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's orchestration complexity, the description is under-specified: it lacks details on expected output (though 'unified analysis' hints at it), potential latency, failure modes, or whether it is appropriate for all analysis requests. The absence of an output schema further increases the need for descriptive completeness, which is not met.
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 both query and ticker fully described. The tool description adds no additional parameter-specific meaning beyond contextualizing that these inputs feed a multi-agent analysis, so the baseline of 3 is appropriate.
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 specifies the tool's function: coordinating multiple analytical agents (Market Data, Financials, Valuation) to produce a unified stock analysis. This distinguishes it from sibling tools that perform individual lookups or report generation, establishing a unique purpose.
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 for comprehensive analysis requests ('coordinates multiple agents... produce a unified analysis'), but it does not explicitly state when to use this tool versus alternatives. No exclusions or when-not-to-use guidance is provided, leaving the conditions for selection somewhat implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_dcf_valuationB
Runs a Discounted Cash Flow (DCF) model to estimate the intrinsic value of a stock using live free cash flows.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | The stock ticker symbol | |
| growthRate | No | Projected annual growth rate (percentage) | |
| discountRate | No | Discount rate (WACC percentage) |
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 disclosing behavioral traits. It mentions 'live free cash flows' which suggests dynamic data retrieval, but it doesn't disclose potential side effects, data source dependencies, error handling, or whether it's a pure read operation. The agent is left with significant uncertainty.
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 sentence that front-loads the action and stays focused on the core purpose. Every word is meaningful, and there is no redundant or extraneous text.
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 has no output schema and no annotations, leaving the description as the only source of context. It never states what the tool returns, what happens if optional parameters are omitted, or what assumptions are baked into the model. This is insufficient for a financial modeling tool with three parameters.
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%: each parameter has a description (e.g., growthRate: 'Projected annual growth rate (percentage)'). The tool description adds no additional meaning beyond the schema, so the baseline of 3 applies. It does not clarify format nuances like whether percentages are expressed as decimals or whole numbers.
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 identifies the tool's function: running a Discounted Cash Flow model to estimate intrinsic value using live free cash flows. This specific verb-resource combination distinguishes it from sibling analytical tools like get_stock_price or calculate_financial_ratios.
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 alternatives. It does not mention when not to use it, prerequisites, or how it fits into an investment analysis workflow. While the purpose is clear, the lack of comparative context leaves 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.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
12 tool updates
v1.0.0- First observed
analyze_portfolio_diversification - First observed
calculate - First observed
calculate_financial_ratios - First observed
convert_temperature - First observed
email_investment_report - First observed
generate_investment_report - First observed
get_financial_statements - First observed
get_market_news - First observed
get_risk_assessment - First observed
get_stock_price - First observed
orchestrate_financial_analysis - First observed
run_dcf_valuation
TDQS
The financial tools are largely distinct, but generate_investment_report and orchestrate_financial_analysis have overlapping purposes as both produce analysis output. The generic calculate and convert_temperature tools are clearly separate but irrelevant to finance.
Most financial tools follow a clear verb_noun pattern (e.g., get_stock_price, calculate_financial_ratios). However, 'calculate' and 'convert_temperature' break the pattern and are not thematically aligned, creating inconsistency.
With 12 tools, the count is within the ideal range for a specialized server. However, two utility tools are unnecessary padding for a financial analysis domain, making the set slightly less focused.
The core financial analysis workflow is well covered: market data, financials, ratios, valuation, risk, portfolio analysis, report generation, and emailing. Minor gaps exist, such as no direct tool for comparing companies, but the major lifecycle is present.
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
The Octagon MCP server provides specialized AI-powered financial research and analysis by integrating with the Octagon Market Intelligence API. It enables users to analyze public market data (SEC filings, earnings transcripts, financial metrics, and stock data for 8000+ companies), private market data (3M+ companies, 500k+ funding rounds, 2M+ M&A/IPO transactions), and conduct deep research including web scraping capabilities. The server also features autonomous research agents that search hundreds of sources and return fully cited reports in approximately one minute.
MCP server for VC pitch-deck scoring, thesis-fit matching, and deal-flow management.
The financial MCP for AI agents - 90+ financial tables, SEC filings, signals, alt-data.
MCP server giving AI agents one-connection access to China A-share market intelligence: financials,
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceAn MCP server that integrates with local Ollama LLMs to provide financial analysis through four specialized agents (Market Analyst, Portfolio Manager, Risk Analyst, and Explainability Agent) with comprehensive banking tools.-
- AlicenseNot gradedqualityAmaintenanceAn MCP server that exposes 16 free investment-research signals (insider trades, SEC filings, short data, and live quotes) to any MCP-compatible LLM.8699MIT

Sablier MCP Serverofficial
AlicenseAqualityDmaintenanceAn MCP server that lets AI assistants analyze portfolios, stress-test scenarios, generate synthetic market paths, and scan SEC filings โ in under 2 minutes.833MIT- FlicenseNot gradedqualityBmaintenanceTurns financial documents into AI-generated investment briefs by exposing banking tools like search financials, compare companies, and risk flagging as an MCP server, allowing an LLM agent to discover and use them dynamically.3-
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/ShahzaadAhmed/MCP_project'
If you have feedback or need assistance with the MCP directory API, please join our Discord server