Newerton/mcp-status-invest
Built by Metorial, the integration platform for agentic AI.
Newerton/mcp-status-invest
Server Summary
Query stock prices
Retrieve market indicators
Access payment dates
Integrate with external APIs
Validate financial data
This project is part of the Model Context Protocol (MCP) ecosystem and provides tools to interact with external APIs and manage specific domain models. It is designed to demonstrate how to build an MCP server with external API integration and data validation.
An integration that enables MCP tools to query stock market data, such as stock prices, indicators, and payment dates, using the Status Invest API.
fetch
(infrastructure layer).The project follows a layered architecture inspired by Domain-Driven Design (DDD) patterns:
Domain (src/domain
):
Defines interfaces and types that represent data structures (e.g., StatusInvest
).
Infrastructure (src/infrastructure
):
Implements external services, such as StatusInvestApiService
, responsible for making HTTP calls to the Status Invest API.
Application (src/application
):
Contains business logic in StatusInvestService
, which processes and formats data from the infrastructure.
Interface (src/interface
):
Includes controllers (StatusInvestToolsController
) that register tools in the MCP server, define validation schemas, and return results.
Entry Point (src/main.ts
):
Initializes the McpServer
, configures the transport (StdioServerTransport
), instantiates services and controllers, and starts listening on stdio.
The folder structure is as follows:
src/
├── domain/
│ └── models/ # Domain interfaces
├── infrastructure/
│ └── services/ # External API implementations (Status Invest)
├── application/
│ └── services/ # Business logic and data formatting
├── interface/
│ └── controllers/ # MCP tool registration and validation
└── main.ts # Server entry point
build/ # Compiled JavaScript code
.vscode/ # Contains the mcp.json file, MCP Server config
git clone [email protected]:newerton/mcp-status-invest.git
cd mcp-status-invest
npm install
npm run build
Ctrl+Shift+P
and select "MCP: List Servers"Ctrl+Shift+P
and select "MCP: List Servers"Pull requests are welcome! Feel free to open issues and discuss improvements.
This project is licensed under the MIT license - see the LICENSE file for details.