Value Investing Agent

Value Investing Agent

An AI-powered MCP server for value investors. Analyze stocks using principles from Benjamin Graham and Warren Buffett.

Category
Visit Server

README

English | äø­ę–‡

Value Investing Agent

An AI-powered MCP server for value investors. Analyze stocks using principles from Benjamin Graham and Warren Buffett. Every value investor deserves their own AI agent.

"Price is what you pay. Value is what you get." - Warren Buffett

npm version License: MIT Node.js Version MCP

Disclaimer

This tool is for educational and research purposes only. It does not constitute investment advice. Investing involves risks, including the potential loss of principal. The author is not responsible for any investment decisions made based on this tool.

Features

  • šŸ“Š Real-time Stock Data - Quotes, financials, and company profiles
  • 🧮 Intrinsic Value Calculation - DCF model and Graham Number
  • šŸ° Moat Analysis - Evaluate competitive advantages
  • šŸ“° News Aggregation - Stay informed on your watchlist
  • šŸ“ Report Generation - Daily summaries and deep analysis reports
  • šŸ”Œ Pluggable Data Sources - Easy to add your own data providers

Quick Start

Prerequisites

  • Node.js >= 18.0.0
  • Any MCP-compatible client (Claude Desktop, Claude Code, or your own application)

Note: This is a standalone MCP server that can run on Windows, macOS, or Linux. It can be used with any application that supports the Model Context Protocol, not just Claude products.

Installation

Option 1: npx (Recommended)

No installation required:

npx value-investing-agent

Or configure in your MCP client:

{
  "mcpServers": {
    "value-investing-agent": {
      "command": "npx",
      "args": ["-y", "value-investing-agent"]
    }
  }
}

Option 2: Global Install

npm install -g value-investing-agent

Configure MCP:

{
  "mcpServers": {
    "value-investing-agent": {
      "command": "value-investing-agent"
    }
  }
}

Option 3: From Source

git clone https://github.com/danielchu97/Value-Investing-Agent.git
cd Value-Investing-Agent
npm install
npm run build

Configure MCP:

{
  "mcpServers": {
    "value-investing-agent": {
      "command": "node",
      "args": ["/path/to/value-investing-agent/dist/index.js"]
    }
  }
}

Configuration Files

Claude Desktop:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Usage

Get Stock Quote

"Get me the current quote for Apple"
"What's the price of MSFT?"

Analyze Intrinsic Value

"Calculate the intrinsic value of AAPL"
"What is Amazon's fair value using DCF?"

Evaluate Economic Moat

"Analyze the competitive moat of Coca-Cola"
"Does Microsoft have a wide moat?"

Manage Watchlist

"Add GOOGL to my watchlist in the Technology group"
"Show my watchlist"
"Remove TSLA from watchlist"

Generate Reports

"Generate a daily report for my watchlist"
"Create a detailed analysis report for Berkshire Hathaway"

Available Tools

Tool Description
get_stock_quote Get real-time stock quote and metrics
get_financials Fetch financial statements (income, balance, cash flow)
calculate_intrinsic_value DCF and Graham valuation with margin of safety
analyze_moat Evaluate competitive advantages
get_news Get stock-related news articles
manage_watchlist Manage your personal stock watchlist
generate_daily_report Daily summary of watchlist stocks
generate_stock_report Comprehensive value investing analysis
set_provider Switch data provider
list_providers List available data providers

Data Providers

The plugin architecture allows you to add your own data sources. See Custom Provider Guide.

Built-in Providers

Provider API Key Rate Limit Best For
yahoo-finance (default) Not required Limited (may hit 429 errors) Quick testing
finnhub Required (free) 60 calls/min Production use
alpha-vantage Required (free) 5 calls/min Basic data needs

Configuring API Keys

Finnhub (Recommended for reliable access):

  1. Get free API key at finnhub.io/register
  2. Set environment variable:
    export FINNHUB_API_KEY=your_api_key_here
    
    Or in Claude Desktop config:
    {
      "mcpServers": {
        "value-investing-agent": {
          "command": "npx",
          "args": ["-y", "value-investing-agent"],
          "env": {
            "FINNHUB_API_KEY": "your_api_key_here"
          }
        }
      }
    }
    

Alpha Vantage:

  1. Get free API key at alphavantage.co
  2. Set environment variable: ALPHA_VANTAGE_API_KEY=your_key

Switching Providers

"Switch to finnhub provider"
"Use alpha-vantage for data"
"List available providers"

Adding a Custom Provider

  1. Copy src/providers/provider-template.ts
  2. Implement the DataProvider interface
  3. Register in src/providers/index.ts
import { MyProvider } from './my-provider';
registerProvider('my-provider', (config) => new MyProvider(config));

Value Investing Principles

This tool is built on timeless investment principles:

1. Intrinsic Value

A company's true worth based on future cash flows, not market price.

2. Margin of Safety

Buy only when price is significantly below intrinsic value (25%+ discount).

3. Economic Moat

Seek durable competitive advantages that protect profits.

4. Circle of Competence

Only invest in businesses you understand.

5. Mr. Market

Use market emotions as opportunities, don't be ruled by them.

Key Metrics

Valuation

  • P/E Ratio: < 15 (undervalued)
  • P/B Ratio: < 1.5 (undervalued)
  • Graham Number: Price ceiling for defensive investors

Profitability

  • ROE: > 15% (excellent)
  • Gross Margin: > 40% (pricing power)
  • Net Margin: > 10% (efficient)

Safety

  • Current Ratio: > 1.5 (liquid)
  • Debt/Equity: < 1.0 (conservative)
  • Interest Coverage: > 5x (safe)

Development

# Install dependencies
npm install

# Build
npm run build

# Development mode (watch)
npm run dev

# Run tests
npm test

# Lint
npm run lint

Project Structure

value-investing-agent/
ā”œā”€ā”€ src/
│   ā”œā”€ā”€ index.ts              # Entry point
│   ā”œā”€ā”€ server.ts             # MCP server
│   ā”œā”€ā”€ providers/            # Data providers
│   ā”œā”€ā”€ tools/                # MCP tools
│   ā”œā”€ā”€ analysis/             # Analysis engine
│   ā”œā”€ā”€ utils/                # Utilities
│   ā”œā”€ā”€ config/               # Configuration
│   └── types/                # TypeScript types
ā”œā”€ā”€ skills/                   # Claude skills
ā”œā”€ā”€ data/                     # Local data (watchlist, cache)
ā”œā”€ā”€ docs/                     # Documentation
└── tests/                    # Test files

Contributing

Contributions are welcome! Please read our contributing guidelines before submitting PRs.

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Run tests
  5. Submit a pull request

License

MIT License - see LICENSE for details.

Acknowledgments

This project is inspired by the investment wisdom of:

  • Benjamin Graham - The Intelligent Investor, Security Analysis
  • Warren Buffett - Berkshire Hathaway Letters to Shareholders
  • Charlie Munger - Poor Charlie's Almanack

Resources


Remember: "The stock market is designed to transfer money from the active to the patient." - Warren Buffett

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured