Standard Metrics MCP Server
About
Connects to the Standard Metrics API to enable AI-powered analysis of venture capital portfolio data.
Details
- Author
- quaestor-technologies
- Categories
- Productivity
Jump to
Setup
Install Standard Metrics MCP Server in your MCP client (Claude Desktop, Cursor, Windsurf, and others).
Repository: https://github.com/quaestor-technologies/smx-mcp
Follow the installation instructions in the repository README, then restart your MCP client.
Connects to the Standard Metrics API to enable AI-powered analysis of venture capital portfolio data.
[!WARNING]DEPRECATED: Our local MCP server is deprecated. Please use our new hosted MCP setup instead:MCP Setup Guide
A Model Context Protocol (MCP) server that connects Claude Desktop and other MCP-compatible clients to the Standard Metrics API, enabling AI-powered analysis of your venture capital portfolio data.
This MCP server allows Claude to directly access your Standard Metrics data to:
- Analyze Portfolio Performance: Get comprehensive overviews of all your portfolio companies
- Query Financial Metrics: Access revenue, growth, burn rate, and other key metrics
- Search and Filter: Find companies by sector, performance, or custom criteria
- Generate Reports: Create detailed financial summaries and performance analyses
- Track Trends: Monitor metrics over time with historical data analysis
1. Get Your Standard Metrics OAuth2 Credentials
- Log into your Standard Metrics account - On the left hand menu, click on Settings - Click on Developer Settings - Click "Add Application" in the top right - Fill in the application name and description - Click "Create Application" - Copy yourClient IDandClient Secretand store them securely (you won't be able to see the secret again!)Add the following to your Claude Desktop MCP configuration file:
macOS:~/Library/Application Support/Claude/claude_desktop_config.json
Windows:%APPDATA%/Claude/claude_desktop_config.json
First, find your uvx path by runningwhich uvxin your terminal, then use that path in the config:
{ "mcpServers": { "standard-metrics": { "command": "/path/to/uvx", "args": ["smx-mcp"], "env": { "SMX_CLIENT_ID": "your_client_id_here", "SMX_CLIENT_SECRET": "your_client_secret_here" } } } }
Replace/path/to/uvxwith the result fromwhich uvxand replaceyour_client_id_hereandyour_client_secret_herewith your actual OAuth2 credentials.
If you don't have it installed already, you'll need to install theuv Python package managerfirst:
curl -LsSf https://astral.sh/uv/install.sh | sh
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
Close and reopen Claude Desktop. You should see "Standard Metrics" appear in your MCP connections.
Once installed, you can ask Claude to analyze your portfolio data:
Show me a summary of my entire portfolio performance
What are the key metrics for Acme Corp over the last 12 months?
Compare the revenue growth of all my SaaS companies
Create a financial summary for company ID abc123 including burn rate and runway
Find all companies with revenue growth above 50% and show their latest metrics
{ "mcpServers": { "standard-metrics": { "command": "docker", "args": [ "run", "--rm", "-i", "-e", "SMX_CLIENT_ID=your_client_id_here", "-e", "SMX_CLIENT_SECRET=your_client_secret_here", "-p", "8000:8000", "quaestorapp/smx-mcp:latest" ] } } }
git clone https://github.com/Quaestor-Technologies/smx-mcp cd smx-mcp uv sync
Then use the local path in your Claude Desktop config:
{ "mcpServers": { "standard-metrics": { "command": "uv", "args": ["run", "python", "-m", "src.server"], "env": { "SMX_CLIENT_ID": "your_client_id_here", "SMX_CLIENT_SECRET": "your_client_secret_here" } } } }
1. Run with the Hosted Image (Recommended)
You can use the prebuilt image from Docker Hub for the fastest setup:
docker run --rm -it \ -e SMX_CLIENT_ID=your_client_id_here \ -e SMX_CLIENT_SECRET=your_client_secret_here \ -p 8000:8000 \ quaestorapp/smx-mcp:latest
- Replaceyour_client_id_hereandyour_client_secret_herewith your actual Standard Metrics OAuth2 credentials.
- The server will be available athttp://localhost:8000.
If you want to build the image yourself (for development or customization):
# Build the Docker image docker build -t smx-mcp . # Run the container docker run --rm -it \ -e SMX_CLIENT_ID=your_client_id_here \ -e SMX_CLIENT_SECRET=your_client_secret_here \ -p 8000:8000 \ smx-mcp
- Again, replace the environment variables with your credentials.
Add this to your Claude Desktop MCP config to use the Docker image:
{ "mcpServers": { "standard-metrics": { "command": "docker", "args": [ "run", "--rm", "-i", "-e", "SMX_CLIENT_ID=your_client_id_here", "-e", "SMX_CLIENT_SECRET=your_client_secret_here", "-p", "8000:8000", "quaestorapp/smx-mcp:latest" ] } } }
- The hosted image is updated automatically with every release.
- For local development, you can mount your code into the container with-v $(pwd)/src:/app/srcif you want live code reloads.
- Verify your Client ID and Client Secret are correct
- Ensure your OAuth2 application is active in Standard Metrics
- Check that Claude Desktop has been restarted after configuration
- Confirm your Standard Metrics account has portfolio data
- Verify your OAuth2 application has the necessary permissions
- Try a simpler query first: "List my companies"
- Double-check your credentials haven't expired
- Ensure there are no extra spaces in your configuration
- Try regenerating your OAuth2 credentials if needed
list_companies- List all companies associated with your firm
- page: Page number for pagination (number, optional, default: 1)
- per_page: Results per page (number, optional, default: 100, max: 100)
get_company- Get a specific company by ID
- company_id: The unique identifier for the company (string, required)
search_companies- Search companies by various criteria
- name_contains: Filter companies containing this text in their name (string, optional)
- sector: Filter companies by sector (string, optional)
- city: Filter companies by city (string, optional)
- page: Page number for pagination (number, optional, default: 1)
- per_page: Results per page (number, optional, default: 100, max: 100)
get_company_metrics- Get metrics for a specific company
- company_id: The unique identifier for the company (string, required)
- from_date: Start date for metrics (YYYY-MM-DD format) (date, optional)
- to_date: End date for metrics (YYYY-MM-DD format) (date, optional)
- category: Filter by metric category (string, optional)
- cadence: Filter by metric cadence (daily, monthly, etc.) (string, optional)
- include_budgets: Include budget metrics in results (boolean, optional, default: false)
- page: Page number for pagination (number, optional, default: 1)
- per_page: Results per page (number, optional, default: 100, max: 100)
get_metrics_options- Get available metric categories and options
- category_name: Filter by specific category name (string, optional)
- is_standard: Filter by standard vs custom metrics (boolean, optional)
- page: Page number for pagination (number, optional, default: 1)
- per_page: Results per page (number, optional, default: 100, max: 100)
get_company_recent_metrics- Get the most recent metrics for a company
- company_id: The unique identifier for the company (string, required)
- category: Filter by specific metric category (string, optional)
- limit: Maximum number of recent metrics to return (number, optional, default: 10)
get_portfolio_summary- Get a comprehensive portfolio summary including companies, funds, and key metrics
- company_ids: Specific company IDs to include (array of strings, optional, if None includes all companies)
- max_companies: Maximum number of companies to include metrics for (number, optional, if None includes all)
- include_metrics: Whether to fetch metrics for each company (boolean, optional, default: true)
- metrics_per_company: Number of recent metrics to fetch per company (number, optional, default: 50)
get_company_performance- Get comprehensive performance data for a specific company
- company_id: The unique identifier for the company (string, required)
- months: Number of months of historical data to include (number, optional, default: 12)
get_company_financial_summary- Get a financial summary for a company including key metrics over time
- company_id: The unique identifier for the company (string, required)
- months: Number of months of historical data to include (number, optional, default: 12)
list_budgets- List all budgets associated with your firm
- company_slug: Filter by company slug (string, optional)
- company_id: Filter by company ID (string, optional)
- page: Page number for pagination (number, optional, default: 1)
- per_page: Results per page (number, optional, default: 100, max: 100)
get_custom_columns- Get custom column data for companies
- company_slug: Filter by company slug (string, optional)
- company_id: Filter by company ID (string, optional)
- page: Page number for pagination (number, optional, default: 1)
- per_page: Results per page (number, optional, default: 100, max: 100)
get_custom_column_options- Get all custom columns and their available options
- page: Page number for pagination (number, optional, default: 1)
- per_page: Results per page (number, optional, default: 100, max: 100)
list_documents- List all documents associated with your firm
- company_id: Filter by company ID (string, optional)
- parse_state: Filter by document parse state (string, optional)
- from_date: Filter documents from this date (YYYY-MM-DD format) (date, optional)
- to_date: Filter documents to this date (YYYY-MM-DD format) (date, optional)
- source: Filter by document source (string, optional)
- page: Page number for pagination (number, optional, default: 1)
- per_page: Results per page (number, optional, default: 100, max: 100)
list_funds- List all funds associated with the firm
- page: Page number for pagination (number, optional, default: 1)
- per_page: Results per page (number, optional, default: 100, max: 100)
list_information_requests- List all information requests associated with the firm
- name: Filter by request name (string, optional)
- page: Page number for pagination (number, optional, default: 1)
- per_page: Results per page (number, optional, default: 100, max: 100)
list_information_reports- List all information reports associated with the firm
- company_id: Filter by company ID (string, optional)
- information_request_id: Filter by information request ID (string, optional)
- page: Page number for pagination (number, optional, default: 1)
- per_page: Results per page (number, optional, default: 100, max: 100)
list_notes- List all notes associated with a specific company
- company_slug: Filter by company slug (string, optional)
- company_id: Filter by company ID (string, optional)
- sort_by: Sort notes by specific field (string, optional)
- page: Page number for pagination (number, optional, default: 1)
- per_page: Results per page (number, optional, default: 100, max: 100)
get_company_notes_summary- Get a summary of notes for a company
- company_id: The unique identifier for the company (string, required)
- recent_notes_limit: The number of recent notes to return (number, optional, default: 5, max: 100)
list_users- List all users associated with your firm
- email: Filter by user email (string, optional)
- page: Page number for pagination (number, optional, default: 1)
- per_page: Results per page (number, optional, default: 100, max: 100)
- Standard Metrics API Issues: Contact Standard Metrics support
- MCP Server Issues:Open an issue on GitHub
- Claude Desktop Issues: CheckClaude Desktop documentation
The 1Password MCP server creates a bridge that allows MCP clients such as Codex and Kiro to manage your 1Password Environments with secure authorization prompts.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



