Tidymodels MCP Server
An MCP server for accessing tidymodels GitHub information and generating code.
Tidymodels MCP Server
A Model Context Protocol (MCP) server that provides tools and resources for working with the tidymodels ecosystem in R.
Overview
While this MCP server is extensible for use with tool-agnostic agentic AI workflows, in it's current form it can be paired with Cline.bot and Claude Desktop as a local MCP server. The purpose of this MCP is to monitor the tidymodels ecosystem, specifically the GitHub repositories under the tidymodels organization, providing comprehensive information about tidymodels packages, functions, and common workflows.
Currently, I'm getting better MCP performance when paired with Cline to:
- List all packages in the tidymodels ecosystem
- Provide detailed information about specific packages
- Search for R functions across tidymodels packages
- Generate template code for common tidymodels tasks
- Search for issues in tidymodels repositories
Installation
Prerequisites
Setup
-
Clone this repository:
git clone https://github.com/yourusername/tidymodels-mcp.git cd tidymodels-mcp
-
Install dependencies:
npm install
-
Build the server:
npm run build
Configuration
GitHub Token (Optional)
The server can use a GitHub token to avoid rate limits when accessing the GitHub API. To provide a token:
- Create a personal access token with the
public_repo
scope. - Add it to your configuration as shown below.
Adding to Cline in Visual Studio Code, Positron, and OSS Code IDEs
After you've installed Cline's VS Code extension, navigate to its MCP Servers marketplace where you can configure local MCP server settings. Then, add the JSON to Cline's cline_mcp_settings.json
(if you want to autoapprove the core tools within this MCP server library, keep the names shown in the autoApprove
list):
{
"mcpServers": {
"tidymodels": {
"command": "node",
"args": ["/path/to/tidymodels-mcp/js/index.js"],
"env": {
"GITHUB_TOKEN": "your-github-token"
},
"disabled": false,
"autoApprove": [
"list_tidymodels_packages",
"get_package_details",
"search_r_functions",
"generate_tidymodels_code",
"search_issues"
]
}
}
}
Adding to Claude Desktop
To use this MCP server with Claude Desktop, add it to your claude_desktop_config.json
:
{
"mcpServers": {
"tidymodels": {
"command": "node",
"args": ["/path/to/tidymodels-mcp/js/index.js"],
"env": {
"GITHUB_TOKEN": "your-github-token"
},
"disabled": false,
"autoApprove": []
}
}
}
The config file is typically located at:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
- Linux:
~/.config/Claude/claude_desktop_config.json
Available Tools
The server provides the following tools:
list_tidymodels_packages
Lists all packages in the tidymodels ecosystem.
Arguments:
- refresh (optional): Force a refresh of the repository cache
get_package_details
Get detailed information about a specific tidymodels package.
Arguments:
- package (required): Package name
search_r_functions
Search for R functions in tidymodels packages.
Arguments:
- query (required): Function name or keyword to search for
- package (optional): Limit search to a specific package
generate_tidymodels_code
Generate R code for common tidymodels tasks.
Arguments:
- task (required): Description of the task
- template (optional): Type of template (recipe, model, tune, evaluation)
search_issues
Search for issues in tidymodels repositories.
Arguments:
- query (required): Search query
- repo (optional): Limit search to a specific repository
- state (optional): Issue state (open, closed, all)
Available Resources
The server also provides access to:
- All repositories in the tidymodels GitHub organization
- Documentation about tidymodels packages
- Template code for common tasks
Usage Examples
Here are some examples of how to use this MCP server with Cline:
Listing Tidymodels Packages
I'd like to know what packages are available in the tidymodels ecosystem.
Getting Package Details
Can you tell me about the parsnip package in tidymodels?
Searching for Functions
I need to find R functions related to cross-validation in tidymodels.
Generating Code Templates
Generate code for a tidymodels workflow that predicts housing prices using random forests.
Searching Issues
Show me open issues related to recipe preprocessing in tidymodels.
Development
Project Structure
js/
: Contains the JavaScript/Node.js server implementationsrc/
: Contains the TypeScript source (if using TypeScript)build/
: Output directory for build files
Building from Source
If you've made changes to the TypeScript files, you can rebuild the server with:
npm run build
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- The tidymodels team for their excellent R packages
- The Model Context Protocol for enabling enhanced AI capabilities
Related Servers
ArchiveNet
A context insertion and search server for Claude Desktop and Cursor IDE, using configurable API endpoints.
Intervals.icu
Connects to the Intervals.icu API to retrieve activities, events, and wellness data.
HAL (HTTP API Layer)
An MCP server that enables Large Language Models to make HTTP requests and interact with web APIs. It supports automatic tool generation from OpenAPI/Swagger specifications.
Maven Tools
Access real-time Maven Central intelligence for fast and accurate dependency information.
Android ADB Server
Control Android devices using the Android Debug Bridge (ADB).
Rails Active MCP
A Ruby gem providing secure Rails console access through MCP for AI agents and development tools.
Kibana MCP Server
Access and interact with your Kibana instance using natural language or programmatic requests.
Unstructured
Set up and interact with your unstructured data processing workflows in Unstructured Platform
BloodHound-MCP
integration that connects BloodHound with AI through MCP, allowing security professionals to analyze Active Directory attack paths using natural language queries instead of Cypher.
Bevy BRP MCP
Control, inspect, and mutate Bevy applications with AI coding assistants via the Bevy Remote Protocol (BRP).