Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

A simple MCP server tool for calculating approximate sizing for dedicated search nodes on MongoDB Atlas

License

Notifications You must be signed in to change notification settings

patw/sizing-mcp

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hardware Sizing Calculator MCP

License: MIT

A FastMCP-based tool for calculating Atlas search hardware requirements for both lexical and vector use cases.

Not an official MongoDB Product

Features

  • Calculates estimated storage, RAM, and vCPU requirements
  • Supports complex document structures including embedded documents
  • Handles both lexical and vector search components
  • Provides instance size recommendations based on common cloud instance types
  • Interactive MCP interface for easy querying

Installation

  1. Clone the repository:
git clone https://github.com/patw/sizing-mcp.git
cd sizing-mcp
  1. Install dependencies:
pip install -r requirements.txt

Usage

Run the MCP server in claude desktop or other MCP clients with this config:

{
  "mcpServers": {
    "Search Sizing Calculator": {
      "command": "uv",
      "args": [
        "run",
        "--with",
        "fastmcp, pymongo",
        "fastmcp",
        "run",
        "/Users/patw/dev/sizing-mcp/sizing-mcp.py"
      ]
    }
  }
}

Be sure to change the directory where the MCP code is stored!!

Then interact with it through any MCP client. Example queries:

  • "Calculate hardware needs for 1M documents with 1536-dim vectors and some string fields"
  • "What sizing do I need for 10M documents with 5 embedded comments each?"
  • "Give me a hardware estimate for a lexical-only setup with 50M documents"

Example Configuration

{
  "lexical_sizing": {
    "num_documents": 1000000,
    "qps": 100,
    "latency": 0.05,
    "fields": [
      {"field_type": "String", "size": 150, "count": 2},
      {"field_type": "Autocomplete", "autocomplete_type": "edgeGram"},
      {
        "field_type": "Embedded",
        "count": 1,
        "embedded_sizing": {
          "num_documents": 5,
          "fields": [{"field_type": "String", "size": 50}]
        }
      }
    ]
  },
  "vector_sizing": {
    "num_documents": 1000000,
    "qps": 50,
    "latency": 0.2,
    "fields": [
      {"field_type": "Vector", "dimensions": 1536}
    ],
    "quantization_settings": {
      "type": "scalar",
      "method": "database"
    }
  }
}

Development

Contributions are welcome! Please open an issue or pull request on GitHub.

License

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

Author

Pat Wendorf (@patw) - pat.wendorf@mongodb.com

About

A simple MCP server tool for calculating approximate sizing for dedicated search nodes on MongoDB Atlas

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.