MCP ExplorerExplorer

Chronulus MCP

@ChronulusAIon 11 days ago
71 MIT
FreeOfficial
MCP Tools
#forecasting#prediction#AI agents
<img width="150px" src="https://www.chronulus.com/brand-assets/chronulus-logo-blue-on-alpha-square.png" alt="Chronulus AI">

Overview

What is Chronulus MCP

Chronulus MCP is a server that integrates with Claude for Desktop, enabling users to interact with AI forecasting and prediction agents. It allows for enhanced analytical capabilities through various tools and protocols designed to facilitate data-driven decision-making.

Use cases

Chronulus MCP provides a range of applications including predictive analytics, data forecasting, and insights generation across various industries. Users can leverage it for tasks like financial forecasting, trend analysis, and operational efficiency improvements by analyzing historical data with AI-driven models.

How to use

Users can install Chronulus MCP using methods such as pip, Docker, or uvx, and configure it in the Claude desktop client by updating the configuration file with the appropriate server details and API key. The setup process involves specifying the server commands and environment variables in the config JSON.

Key features

Key features of Chronulus MCP include seamless integration with Claude for enhanced user experience, support for multiple installation methods (pip, Docker, uvx), and the ability to work alongside other tools and servers like filesystem and fetch. It promotes efficient interaction with AI forecasting agents and supports various input types for better data handling.

Where to use

Chronulus MCP is ideal for use in environments that require advanced predictive analytics, such as corporate settings, research institutions, and operational centers. It is beneficial for data scientists, analysts, and decision-makers looking to enhance their data analysis workflows with AI-driven insights.

Content

Chronulus AI

MCP Server for Chronulus

Chat with Chronulus AI Forecasting & Prediction Agents in Claude

Quickstart: Claude for Desktop

Install

Claude for Desktop is currently available on macOS and Windows.

Install Claude for Desktop here

Configuration

Follow the general instructions here to configure the Claude desktop client.

You can find your Claude config at one of the following locations:

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

Then choose one of the following methods that best suits your needs and add it to your claude_desktop_config.json

Using pip

(Option 1) Install release from PyPI

pip install chronulus-mcp

(Option 2) Install from Github

git clone https://github.com/ChronulusAI/chronulus-mcp.git
cd chronulus-mcp
pip install .
{
  "mcpServers": {
    "chronulus-agents": {
      "command": "python",
      "args": [
        "-m",
        "chronulus_mcp"
      ],
      "env": {
        "CHRONULUS_API_KEY": "<YOUR_CHRONULUS_API_KEY>"
      }
    }
  }
}

Note, if you get an error like “MCP chronulus-agents: spawn python ENOENT”,
then you most likely need to provide the absolute path to python.
For example /Library/Frameworks/Python.framework/Versions/3.11/bin/python3 instead of just python

Using docker

Here we will build a docker image called ‘chronulus-mcp’ that we can reuse in our Claude config.

git clone https://github.com/ChronulusAI/chronulus-mcp.git
cd chronulus-mcp
 docker build . -t 'chronulus-mcp'

In your Claude config, be sure that the final argument matches the name you give to the docker image in the build command.

{
  "mcpServers": {
    "chronulus-agents": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "CHRONULUS_API_KEY",
        "chronulus-mcp"
      ],
      "env": {
        "CHRONULUS_API_KEY": "<YOUR_CHRONULUS_API_KEY>"
      }
    }
  }
}
Using uvx

uvx will pull the latest version of chronulus-mcp from the PyPI registry, install it, and then run it.

{
  "mcpServers": {
    "chronulus-agents": {
      "command": "uvx",
      "args": [
        "chronulus-mcp"
      ],
      "env": {
        "CHRONULUS_API_KEY": "<YOUR_CHRONULUS_API_KEY>"
      }
    }
  }
}

Note, if you get an error like “MCP chronulus-agents: spawn uvx ENOENT”, then you most likely need to either:

  1. install uv or
  2. Provide the absolute path to uvx. For example /Users/username/.local/bin/uvx instead of just uvx

Additional Servers (Filesystem, Fetch, etc)

In our demo, we use third-party servers like fetch and filesystem.

For details on installing and configure third-party server, please reference the documentation provided by the server maintainer.

Below is an example of how to configure filesystem and fetch alongside Chronulus in your claude_desktop_config.json:

{
  "mcpServers": {
    "chronulus-agents": {
      "command": "uvx",
      "args": [
        "chronulus-mcp"
      ],
      "env": {
        "CHRONULUS_API_KEY": "<YOUR_CHRONULUS_API_KEY>"
      }
    },
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/path/to/AIWorkspace"
      ]
    },
    "fetch": {
      "command": "uvx",
      "args": [
        "mcp-server-fetch"
      ]
    }
  }
}

Claude Preferences

To streamline your experience using Claude across multiple sets of tools, it is best to add your preferences to under Claude Settings.

You can upgrade your Claude preferences in a couple ways:

  • From Claude Desktop: Settings -> General -> Claude Settings -> Profile (tab)
  • From claude.ai/settings: Profile (tab)

Preferences are shared across both Claude for Desktop and Claude.ai (the web interface). So your instruction need to work across both experiences.

Below are the preferences we used to achieve the results shown in our demos:

## Tools-Dependent Protocols
The following instructions apply only when tools/MCP Servers are accessible.

### Filesystem - Tool Instructions
- Do not use 'read_file' or 'read_multiple_files' on binary files (e.g., images, pdfs, docx) .
- When working with binary files (e.g., images, pdfs, docx) use 'get_info' instead of 'read_*' tools to inspect a file.

### Chronulus Agents - Tool Instructions
- When using Chronulus, prefer to use input field types like TextFromFile, PdfFromFile, and ImageFromFile over scanning the files directly.
- When plotting forecasts from Chronulus, always include the Chronulus-provided forecast explanation below the plot and label it as Chronulus Explanation.

Tools

create_chronulus_session
A tool that creates a new Chronulus Session and returns a session_id When to use this tool: - Use this tool when a user has requested a forecast or prediction for a new use case - Before calling this tool make sure you have enough information to write a well-defined situation and task. You might need to ask clarifying questions in order to get this from the user. - The same session_id can be reused as long as the situation and task remain the same - If user wants to forecast a different use case, create a new session and then use that How to use this tool: - To create a session, you need to provide a situation and task that describe the forecasting use case - If the user has not provided enough detail for you to decompose the use case into a situation (broad or background context) and task (specific requirements for the forecast), ask them to elaborate since more detail will result in a better / more accurate forecast. - Once created, this will generate a unique session_id that can be used to when calling other tools about this use case.
create_forecasting_agent_and_get_forecast
This tool creates a NormalizedForecaster agent with your session and input data model and then provides a forecast input data to the agent and returns the prediction data and text explanation from the agent. When to use this tool: - Use this tool to request a forecast from Chronulus - This tool is specifically made to forecast values between 0 and 1 and does not require historical data - The prediction can be thought of as seasonal weights, probabilities, or shares of something as in the decimal representation of a percent How to use this tool: - First, make sure you have a session_id for the forecasting or prediction use case. - Next, think about the features / characteristics most suitable for producing the requested forecast and then create an input_data_model that corresponds to the input_data you will provide for the thing being forecasted. - Remember to pass all relevant information to Chronulus including text and images provided by the user. - If a user gives you files about a thing you are forecasting or predicting, you should pass these as inputs to the agent using one of the following types: - ImageFromFile - List[ImageFromFile] - TextFromFile - List[TextFromFile] - PdfFromFile - List[PdfFromFile] - If you have a large amount of text (over 500 words) to pass to the agent, you should use the Text or List[Text] field types - Finally, add information about the forecasting horizon and time scale requested by the user - Assume the dates and datetimes in the prediction results are already converted to the appropriate local timezone if location is a factor in the use case. So do not try to convert from UTC to local time when plotting. - When plotting the predictions, use a Rechart time series with the appropriate axes labeled and with the prediction explanation displayed as a caption below the plot
reuse_forecasting_agent_and_get_forecast
This tool creates a NormalizedForecaster agent with your session and input data model and then provides a forecast input data to the agent and returns the prediction data and text explanation from the agent. When to use this tool: - Use this tool to request a forecast from Chronulus - This tool is specifically made to forecast values between 0 and 1 and does not require historical data - The prediction can be thought of as seasonal weights, probabilities, or shares of something as in the decimal representation of a percent How to use this tool: - First, make sure you have a session_id for the forecasting or prediction use case. - Next, think about the features / characteristics most suitable for producing the requested forecast and then create an input_data_model that corresponds to the input_data you will provide for the thing being forecasted. - Remember to pass all relevant information to Chronulus including text and images provided by the user. - If a user gives you files about a thing you are forecasting or predicting, you should pass these as inputs to the agent using one of the following types: - ImageFromFile - List[ImageFromFile] - TextFromFile - List[TextFromFile] - PdfFromFile - List[PdfFromFile] - If you have a large amount of text (over 500 words) to pass to the agent, you should use the Text or List[Text] field types - Finally, add information about the forecasting horizon and time scale requested by the user - Assume the dates and datetimes in the prediction results are already converted to the appropriate local timezone if location is a factor in the use case. So do not try to convert from UTC to local time when plotting. - When plotting the predictions, use a Rechart time series with the appropriate axes labeled and with the prediction explanation displayed as a caption below the plot
rescale_forecast
A tool that rescales the prediction data (values between 0 and 1) from the NormalizedForecaster agent to scale required for a use case When to use this tool: - Use this tool when there is enough information from the user or use cases to determine a reasonable min and max for the forecast predictions - Do not attempt to rescale or denormalize the predictions on your own without using this tool. - Also, if the best min and max for the use case is 0 and 1, then no rescaling is needed since that is already the scale of the predictions. - If a user requests to convert from probabilities to a unit in levels, be sure to caveat your use of this tool by noting that probabilities do not always scale uniformly to levels. Rescaling can be used as a rough first-pass estimate. But for best results, it would be better to start a new Chronulus forecasting use case predicting in levels from the start. How to use this tool: - To use this tool present prediction_id from the normalized prediction and the min and max as floats - If the user is also changing units, consider if the units will be inverted and set the inverse scale to True if needed. - When plotting the rescaled predictions, use a Rechart time series plot with the appropriate axes labeled and include the chronulus prediction explanation as a caption below the plot. - If you would like to add additional notes about the scaled series, put these below the original prediction explanation.
save_forecast
A tool that saves a Chronulus forecast from NormalizedForecaster to separate CSV and TXT files When to use this tool: - Use this tool when you need to save both the forecast data and its explanation to files - The forecast data will be saved as a CSV file for data analysis - The forecast explanation will be saved as a TXT file for reference - Both files will be saved in the same directory specified by output_path - This tool can also be used to directly save rescaled predictions without first calling the rescaling tool How to use this tool: - Provide the prediction_id from a previous forecast - Specify the output_path where both files should be saved - Provide csv_name for the forecast data file (must end in .csv) - Provide txt_name for the explanation file (must end in .txt) - Optionally provide y_min and y_max to rescale the predictions (defaults to 0) - Set invert_scale to True if the target units run in the opposite direction - The tool will provide status updates through the MCP context
create_prediction_agent_and_get_predictions
This tool creates a BinaryPredictor agent with your session and input data model and then provides prediction input data to the agent and returns the consensus a prediction from a panel of experts along with their individual estimates and text explanations. The agent also returns the alpha and beta parameters for a Beta distribution that allows you to estimate the confidence interval of its consensus probability estimate. When to use this tool: - Use this tool to request a probability estimate from Chronulus in situation when there is a binary outcome - This tool is specifically made to estimate the probability of an event occurring and not occurring and does not require historical data How to use this tool: - First, make sure you have a session_id for the prediction use case. - Next, think about the features / characteristics most suitable for producing the requested prediction and then create an input_data_model that corresponds to the input_data you will provide for the thing or event being predicted. - Remember to pass all relevant information to Chronulus including text and images provided by the user. - If a user gives you files about a thing you are forecasting or predicting, you should pass these as inputs to the agent using one of the following types: - ImageFromFile - List[ImageFromFile] - TextFromFile - List[TextFromFile] - PdfFromFile - List[PdfFromFile] - If you have a large amount of text (over 500 words) to pass to the agent, you should use the Text or List[Text] field types - Finally, provide the number of experts to consult. The minimum and default number is 2, but users may request up to 30 30 opinions in situations where reproducibility and risk sensitively is of the utmost importance. In most cases, 2 to 5 experts is sufficient.
reuse_prediction_agent_and_get_prediction
This tool provides prediction input data to a previously created Chronulus BinaryPredictor agent and returns the consensus a prediction from a panel of experts along with their individual estimates and text explanations. The agent also returns the alpha and beta parameters for a Beta distribution that allows you to estimate the confidence interval of its consensus probability estimate. When to use this tool: - Use this tool to request a prediction from a Chronulus prediction agent that you have already created and when your input data model is unchanged - Use this tool to request a probability estimate from an existing prediction agent in a situation when there is a binary outcome - This tool is specifically made to estimate the probability of an event occurring and not occurring and does not require historical data How to use this tool: - First, make sure you have a session_id for the prediction use case. - Next, think about the features / characteristics most suitable for producing the requested prediction and then create an input_data_model that corresponds to the input_data you will provide for the thing or event being predicted. - Remember to pass all relevant information to Chronulus including text and images provided by the user. - If a user gives you files about a thing you are forecasting or predicting, you should pass these as inputs to the agent using one of the following types: - ImageFromFile - List[ImageFromFile] - TextFromFile - List[TextFromFile] - PdfFromFile - List[PdfFromFile] - If you have a large amount of text (over 500 words) to pass to the agent, you should use the Text or List[Text] field types - Finally, provide the number of experts to consult. The minimum and default number is 2, but users may request up to 30 30 opinions in situations where reproducibility and risk sensitively is of the utmost importance. In most cases, 2 to 5 experts is sufficient. How to use this tool: - First, make sure you have an agent_id for the prediction agent. The agent is already attached to the correct session. So you do not need to provide a session_id. - Next, reference the input data model that you previously used with the agent and create new input data for the item being predicted that aligns with the previously specified input data model - Remember to pass all relevant information to Chronulus including text and images provided by the user. - If a user gives you files about a thing you are forecasting or predicting, you should pass these as inputs to the agent using one of the following types: - ImageFromFile - List[ImageFromFile] - TextFromFile - List[TextFromFile] - PdfFromFile - List[PdfFromFile] - If you have a large amount of text (over 500 words) to pass to the agent, you should use the Text or List[Text] field types - Finally, provide the number of experts to consult. The minimum and default number is 2, but users may request up to 30 30 opinions in situations where reproducibility and risk sensitively is of the utmost importance. In most cases, 2 to 5 experts is sufficient.
save_prediction_analysis_html
A tool that saves an analysis of a BinaryPredictor prediction to HTML. The analysis includes a plot of the theoretical and empirical beta distribution estimated by Chronulus and also list the opinions provided by each expert. When to use this tool: - Use this tool when you need to save the BinaryPredictor estimates to for the user How to use this tool: - Provide the request_id from a previous prediction response - Specify the output_path where the html should be saved - Provide html_name for the file (must end in .html) - The tool will provide status updates through the MCP context
get_risk_assessment_scorecard
A tool that retrieves the risk assessment scorecard for the Chronulus Session in Markdown format When to use this tool: - Use this tool when the use asks about the risk level or safety concerns of a forecasting use case - You may also use this tool to provide justification to a user if you would like to warn them of the implications of what they are asking you to forecasting or predict. How to use this tool: - Make sure you have a session_id for the forecasting or prediction use case - When displaying the scorecard markdown for the user, you should use an MDX-style React component

Comments