Skip to main content
Glama

Bayesian MCP

README.md4.43 kB
# Bayesian MCP A Model Calling Protocol (MCP) server for Bayesian reasoning, inference, and belief updating. This tool enables LLMs to perform rigorous Bayesian analysis and probabilistic reasoning. ## Features - 🧠 **Bayesian Inference**: Update beliefs with new evidence using MCMC sampling - 📊 **Model Comparison**: Compare competing models using information criteria - 🔮 **Predictive Inference**: Generate predictions with uncertainty quantification - 📈 **Visualization**: Create visualizations of posterior distributions - 🔌 **MCP Integration**: Seamlessly integrate with any LLM that supports MCP ## Installation ### Development Installation Clone the repository and install dependencies: ```bash git clone https://github.com/wrenchchatrepo/bayesian-mcp.git cd bayesian-mcp pip install -e . ``` ### Requirements - Python 3.9+ - PyMC 5.0+ - ArviZ - NumPy - Matplotlib - FastAPI - Uvicorn ## Quick Start ### Starting the Server ```bash # Run with default settings python bayesian_mcp.py # Specify host and port python bayesian_mcp.py --host 0.0.0.0 --port 8080 # Set log level python bayesian_mcp.py --log-level debug ``` The server will start and listen for MCP requests on the specified host and port. ## API Usage The Bayesian MCP server exposes several functions through its API: ### 1. Create Model Create a new Bayesian model with specified variables. ```python # MCP Request { "function_name": "create_model", "parameters": { "model_name": "my_model", "variables": { "theta": { "distribution": "normal", "params": {"mu": 0, "sigma": 1} }, "likelihood": { "distribution": "normal", "params": {"mu": "theta", "sigma": 0.5}, "observed": [0.1, 0.2, 0.3, 0.4] } } } } ``` ### 2. Update Beliefs Update model beliefs with new evidence. ```python # MCP Request { "function_name": "update_beliefs", "parameters": { "model_name": "my_model", "evidence": { "data": [0.1, 0.2, 0.3, 0.4] }, "sample_kwargs": { "draws": 1000, "tune": 1000, "chains": 2 } } } ``` ### 3. Make Predictions Generate predictions using the posterior distribution. ```python # MCP Request { "function_name": "predict", "parameters": { "model_name": "my_model", "variables": ["theta"], "conditions": { "x": [1.0, 2.0, 3.0] } } } ``` ### 4. Compare Models Compare multiple models using information criteria. ```python # MCP Request { "function_name": "compare_models", "parameters": { "model_names": ["model_1", "model_2"], "metric": "waic" } } ``` ### 5. Create Visualization Generate visualizations of model posterior distributions. ```python # MCP Request { "function_name": "create_visualization", "parameters": { "model_name": "my_model", "plot_type": "trace", "variables": ["theta"] } } ``` ## Examples The `examples/` directory contains several examples demonstrating how to use the Bayesian MCP server: ### Linear Regression A simple linear regression example to demonstrate parameter estimation: ```bash python examples/linear_regression.py ``` ### A/B Testing An example of Bayesian A/B testing for conversion rates: ```bash python examples/ab_test.py ``` ## Supported Distributions The Bayesian engine supports the following distributions: - `normal`: Normal (Gaussian) distribution - `lognormal`: Log-normal distribution - `beta`: Beta distribution - `gamma`: Gamma distribution - `exponential`: Exponential distribution - `uniform`: Uniform distribution - `bernoulli`: Bernoulli distribution - `binomial`: Binomial distribution - `poisson`: Poisson distribution - `deterministic`: Deterministic transformation ## MCP Integration This server implements the Model Calling Protocol, making it compatible with a wide range of LLMs and frameworks. To use it with your LLM: ```python import requests response = requests.post("http://localhost:8000/mcp", json={ "function_name": "create_model", "parameters": { "model_name": "example_model", "variables": {...} } }) result = response.json() ``` ## License MIT ## Credits Based on concepts and code from the Wrench AI framework.

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/wrenchchatrepo/bayes-msp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server