mcp-investidor10

mcp-investidor10

0

Investidor10 is an MCP server project that integrates with the Investidor10 API to provide stock market data. It is built using Domain-Driven Design principles, focusing on external API integration and input validation.

Investidor10 - MCP Server

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, and indicators, using the Investidor10 API. Investidor10 - MCP Server

Table of Contents

Features

  • get-acoes: Fetch basic stock information.
  • Input validation using Zod.
  • Integration with the Investidor10 API using fetch (infrastructure layer).

Architecture

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

  • Infrastructure (src/infrastructure): Implements external services, such as Investidor10ApiService, responsible for making HTTP calls to the Investidor10 API.

  • Application (src/application): Contains business logic in Investidor10Service, which processes and formats data from the infrastructure.

  • Interface (src/interface): Includes controllers (Investidor10ToolsController) 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 (Investidor10)
├── 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

Installation

git clone git@github.com:newerton/mcp-investidor10.git
cd mcp-investidor10
npm install
npm run build

MCP Server Configuration in VSCode

  1. Press Ctrl+Shift+P and select "MCP: List Servers"
  2. Select "stocks" and then "Start Server"

MCP Server Output in VSCode

  1. Press Ctrl+Shift+P and select "MCP: List Servers"
  2. Select "stocks" and then "Show Output"

Contribution

Pull requests are welcome! Feel free to open issues and discuss improvements.

License

This project is licensed under the MIT license - see the LICENSE file for details.