wealvest-ai
Click on "Deploy 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., "@wealvest-aianalyze my portfolio's current risk profile"
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.
๐ฐ WealVest AI
AI-powered financial analysis platform built with NitroStack MCP.
WealVest AI demonstrates how the Model Context Protocol (MCP) can power modular AI-driven financial tools for investment analysis, risk assessment, market intelligence, and report generation.
Project Status: ๐ง MVP Complete | Website Integration In Progress
๐ Overview
WealVest AI is an experimental financial intelligence platform built for the NitroStack MCP Hackathon.
The project exposes financial capabilities as MCP tools that can be executed from NitroStudio, showcasing how AI-powered financial workflows can be implemented using modular MCP architecture.
Current capabilities include:
๐ Portfolio Analysis
โ ๏ธ Risk Assessment
๐ Investment Simulation
๐ Market Intelligence
๐ Financial Report Generation
๐ Tech Stack
Related MCP server: QuantClaw Data
Frontend
React
TypeScript
Tailwind CSS
Vite
Backend
Node.js
NitroStack MCP
Development Tools
NitroStudio
TypeScript
npm
โ Current Status
Successfully Implemented
๐ Portfolio Analyzer
Portfolio analysis workflow
Financial input validation
MCP Tool implementation
Widget integration
Portfolio insights
โ ๏ธ Risk Assessment
Risk profile analysis
Financial scoring
Risk recommendations
MCP integration
๐ Investment Simulator
Investment projection
Return estimation
Future value calculation
Financial simulations
๐ Market Intelligence
Market trend analysis
Industry insights
AI-assisted summaries
๐ Report Generator
Financial report generation
Structured summaries
Recommendation reports
๐ MCP Integration
MCP Server
Tool Registration
Widget Registration
NitroStudio Integration
Modular Architecture
โ Working Features
Feature | Status |
React Frontend | โ |
Tailwind UI | โ |
MCP Server | โ |
Portfolio Analyzer | โ |
Risk Assessment | โ |
Investment Simulator | โ |
Market Intelligence | โ |
Report Generator | โ |
NitroStudio Integration | โ |
Widget Rendering | โ |
Financial Tool Execution (NitroStudio) | โ |
๐ง Currently Under Development
The following functionality is not yet implemented:
Website โ MCP communication
Backend API integration
Direct tool execution from the website
Persistent user accounts
Database integration
Authentication
Real-time financial data
Production deployment
๐ Architecture
React Website
โ
โ
(UI Components Only)
โ
โผ
NitroStudio (MCP Client)
โ
โผ
NitroStack MCP Server
โ
โโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโ
โ โ โ
โผ โผ โผ
Portfolio Risk Assessment Investment Simulator
โ
โผ
Market Intelligence
โ
โผ
Report Generatorโ ๏ธ Current Limitation
At present, the financial tools are executed through NitroStudio, which acts as the MCP client.
The React website currently provides the frontend interface but does not yet communicate with the MCP server.
This means:
โ MCP tools work inside NitroStudio.
โ Widgets render correctly in NitroStudio.
โ The website cannot yet invoke MCP tools directly.
Backend integration between the website and the MCP server is planned for a future update.
๐ Future Roadmap
Phase 1 โ (Completed)
MCP server
Financial tools
NitroStudio integration
Widget implementation
Modular architecture
Phase 2 ๐ง
Backend API
Website โ MCP integration
Live financial analysis from the website
User authentication
Portfolio persistence
Database support
Phase 3 ๐ฎ
AI investment recommendations
Portfolio optimization
Historical tracking
PDF report export
Cloud deployment
Multi-user collaboration
Real-time market APIs
โถ๏ธ Getting Started
Clone the repository:
git clone https://github.com/rhll07/wealvest-ai.gitMove into the project:
cd wealvest-aiInstall dependencies:
npm installRun the development server:
npm run dev๐งช Demo
Current demonstrations are performed through NitroStudio, where all implemented MCP tools can be executed and tested.
Available demo tools:
๐ Portfolio Analyzer
โ ๏ธ Risk Assessment
๐ Investment Simulator
๐ Market Intelligence
๐ Report Generator
๐ค Contributing
Contributions, feature suggestions, and bug reports are always welcome.
Fork the repository
Create a feature branch
Commit your changes
Open a Pull Request
๐ License
This project is licensed under the MIT License.
๐จโ๐ป Author
Rahul Krishna R
If you found this project helpful or interesting, consider giving it a โญ on GitHub!
Available Tools
5 toolsanalyze_portfolioC
Analyze an investment portfolio based on investor profile and financial goals.
| Name | Required | Description | Default |
|---|---|---|---|
| age | Yes | Investor age | |
| financialGoal | Yes | Primary financial goal (e.g., Retirement, Buying a Home) | |
| monthlyIncome | Yes | Monthly income | |
| riskTolerance | Yes | Risk tolerance | |
| currentSavings | Yes | Current savings | |
| investmentHorizon | Yes | Investment horizon in years | |
| monthlyInvestment | Yes | Amount invested every month |
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 only says 'analyze', loosely implying a read-only operation, but does not disclose output format, limitations, side effects, or any behavioral specifics. With 7 inputs and no output schema, 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 one concise sentence, front-loading the verb and avoiding redundancy. It is efficiently structured, but the brevity sacrifices depth; however, the dimension rewards lack of fluff, so a moderately high score is appropriate.
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?
With 7 required parameters, no output schema, and no annotations, the description is insufficient. It does not clarify the nature of the analysis result, expected output structure, or any prerequisites/limitations. The description is too sparse for the tool's complexity.
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 adds a high-level framing ('investor profile and financial goals') but does not provide any additional param-specific meaning beyond what the schema already documents.
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 ('analyze') and resource ('investment portfolio'), and mentions the basis ('investor profile and financial goals'). It distinguishes from siblings like assess_risk (focused on risk) and simulate_investment (simulation), though 'analyze' is somewhat generic and doesn't specify the kind of analysis.
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 explicit guidance on when to use this tool versus alternatives. There is no mention of exclusions or comparison to sibling tools like assess_risk or generate_report. The context is only implied through the phrase 'based on investor profile and financial goals', which is not enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assess_riskB
Evaluate the risk profile of an investment portfolio based on asset allocation and concentration.
| Name | Required | Description | Default |
|---|---|---|---|
| holdings | Yes | List 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 for behavioral disclosure. It states the analytical basis ('asset allocation and concentration') but does not mention whether this is a read-only operation, what the output format is, or any limitations such as requiring complete holdings. This leaves the agent under-informed about invocation behavior.
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 wording. It states the verb, object, and basis efficiently, which is appropriate for a tool with a single well-documented parameter.
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 schema is complete for the single parameter, but there is no output schema and no annotations, so the description must explain return values and behavior. It does not describe what the 'risk profile' output looks like or address the overlap with sibling tools, making it minimally adequate rather than fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema fully describes the 'holdings' parameter and its sub-fields with descriptions, so the baseline is 3. The description adds the concepts of 'asset allocation and concentration' as the analytical lens, but it does not explain how the input maps to these measures or provide further parameter-level detail.
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 ('Evaluate') and identifies a clear resource ('risk profile of an investment portfolio') with the basis of evaluation ('asset allocation and concentration'). It is clear and specific, but it does not differentiate from the sibling 'analyze_portfolio', which could overlap in 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 provides no explicit guidance on when to use this tool versus alternatives like 'analyze_portfolio' or 'simulate_investment'. The use case is only implied by the verb and inputs, with no exclusions or alternative references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_reportB
Generate a structured wealth analysis report (PDF/JSON/Markdown).
| Name | Required | Description | Default |
|---|---|---|---|
| data | No | Structured data to include in the report | |
| format | No | Format of the generated report | JSON |
| projectId | Yes | Project ID for which to generate the report | |
| reportType | Yes | Type of report |
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 disclosing behavioral traits. It mentions output formats but does not disclose side effects, required permissions, whether input data is mandatory, or any limitations. The description adds minimal behavioral 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 concise and front-loaded, using a single sentence to state the tool's purpose and output formats. Every word is meaningful, with no redundant or filler content.
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 moderately complex (4 parameters, 2 required, enums), but the description is sparse. There is no output schema or annotations, so the description should explain what the report contains, how 'data' is used, or what 'structured' means. It fails to provide this context, leaving significant gaps for the agent.
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 adds no additional meaning to parameters; it only mentions formats, which are already enumerated in the schema. The schema itself fully documents all parameters, so this score 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 function: generating a structured wealth analysis report in PDF, JSON, or Markdown. This specific verb+resource combination distinguishes it from sibling analysis tools (e.g., analyze_portfolio, assess_risk), which focus on analysis rather than report generation.
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 does not mention prerequisites, exclusions, or the relationship to sibling tools. Users must infer that it is for report generation after analysis, but no explicit context is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_market_insightsB
Retrieve latest market insights and financial headlines.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of headlines to retrieve | |
| category | No | News category | Markets |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It indicates 'retrieve' implying a read-only operation, but it doesn't disclose any side effects, rate limits, response format, or data source. The description is minimal and doesn't enrich the agent's understanding 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, efficient sentence. It's front-loaded with the action verb and contains no unnecessary words. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is relatively simple with two optional parameters and no output schema. The description gives a basic idea of what it does, but it doesn't explain the return structure or how the data might be used. Given the lack of annotations and output schema, the description could be more informative to enable effective 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 already describes both parameters (limit and category) with 100% coverage. The description adds no additional meaning about how the parameters affect results, such as how category filters headlines or what limit controls. Since schema coverage is high, 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 action ('Retrieve') and resource ('latest market insights and financial headlines'). It distinguishes from sibling tools like analyze_portfolio or generate_report, which focus on analysis/reporting rather than retrieval. However, it doesn't explicitly differentiate itself, so it's not perfect.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. It doesn't mention any prerequisites, exclusions, or scenarios where other tools would be more appropriate. The description simply states the function without context, leaving the agent to infer its use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
simulate_investmentB
Simulate the growth of SIP or lump-sum investments over time with deterministic financial calculations.
| Name | Required | Description | Default |
|---|---|---|---|
| duration | Yes | Duration of investment in years | |
| monthlySIP | Yes | Monthly SIP amount | |
| expectedReturn | Yes | Expected annual return rate (percentage) | |
| inflationAdjusted | No | Whether to adjust results for inflation | |
| initialInvestment | Yes | Initial lump-sum investment amount |
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 mentions 'deterministic financial calculations' but does not disclose what the output format is (e.g., future value, schedule), any underlying assumptions (e.g., compounding frequency), or limitations. This is a significant gap for a simulation 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 sentence that is appropriately concise and front-loaded with the verb 'Simulate'. It avoids repetition of schema details and contains no unnecessary words.
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?
Despite a well-documented schema, the description fails to provide essential context about the tool's output or behavior. There is no output schema, and the description does not mention what the simulation returns (e.g., final corpus, year-wise breakdown) or any edge cases. For a non-trivial financial tool, this is 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 input schema provides complete descriptions for all parameters (100% coverage), so the baseline is 3. The description adds no additional meaning beyond referencing 'SIP or lump-sum', which maps to monthlySIP and initialInvestment already documented in the schema. It does not enrich 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 tool's function with a specific verb ('Simulate') and resource ('the growth of SIP or lump-sum investments'). It distinguishes itself from siblings like analyze_portfolio and assess_risk by focusing on simulation rather than analysis or 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?
The description implies usage for simulating investment growth but does not explicitly state when to use it versus alternatives or when not to use it. No exclusions or comparisons to sibling tools are provided, leaving usage guidance at an implied level.
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.
5 tool updates
v1.0.0- First observed
analyze_portfolio - First observed
assess_risk - First observed
generate_report - First observed
get_market_insights - First observed
simulate_investment
TDQS
Scored across 5 tools
Each tool targets a distinct aspect of wealth analysis: portfolio analysis, risk assessment, simulation, market insights, and report generation. The descriptions clarify the overlap between analyze_portfolio and assess_risk, making them distinguishable by focus.
All tool names follow a consistent verb_noun pattern in snake_case, such as 'analyze_portfolio' and 'generate_report'. This creates a predictable and readable naming convention throughout.
With only 5 tools, the server is well-scoped for its purpose. Each tool provides a distinct and necessary function for wealth analysis without redundancy or missing core capabilities.
The set covers the core workflow of portfolio analysis, risk evaluation, investment simulation, market context, and report generation. Minor gaps such as portfolio modification or personalized recommendations exist but are likely outside the intended scope.
Maintenance
Related MCP Connectors
Connect AI agents to financial institution origination, analytics, and compliance workflows.
Portfolio analytics + US-equity market research for AI clients. ChatGPT deep-research compat.
Connect your portfolio to Claude, ChatGPT, or Codex to analyze it and make smarter investments.
- WealthosOAuthcc.wealthos
Plan your financial future with AI: track net worth, manage budgets, and forecast scenarios.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables quantitative trading analysis with 12 tools for real-time market data, 28+ technical indicators, FinBERT-powered news sentiment analysis, and automated trading signal generation for stocks and forex.1-
- FlicenseNot gradedqualityNot gradedmaintenanceProvides access to a comprehensive financial intelligence platform featuring real-time market data, quantitative models, and alternative data sources. It enables users to perform advanced financial analysis including options analytics, portfolio modeling, and SEC filing research.-
- FlicenseBqualityDmaintenanceEnables comprehensive financial analysis including structured products, portfolio optimization, risk analytics, and backtesting through Claude Desktop integration.181-
- AlicenseNot gradedqualityDmaintenanceEnables natural language portfolio monitoring, risk analysis, and compliance checking with tools for real-time portfolio status, risk metrics, anomaly detection, SEC filings search, market KPIs, and compliance validation.MIT