A Model Context Protocol (MCP) server that provides tools and resources for working with the tidymodels ecosystem in R.
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
-
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
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.
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"
]
}
}
}
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
The server provides the following tools:
Lists all packages in the tidymodels ecosystem.
Arguments:
- refresh (optional): Force a refresh of the repository cache
Get detailed information about a specific tidymodels package.
Arguments:
- package (required): Package name
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 R code for common tidymodels tasks.
Arguments:
- task (required): Description of the task
- template (optional): Type of template (recipe, model, tune, evaluation)
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)
The server also provides access to:
- All repositories in the tidymodels GitHub organization
- Documentation about tidymodels packages
- Template code for common tasks
Here are some examples of how to use this MCP server with Cline:
I'd like to know what packages are available in the tidymodels ecosystem.
Can you tell me about the parsnip package in tidymodels?
I need to find R functions related to cross-validation in tidymodels.
Generate code for a tidymodels workflow that predicts housing prices using random forests.
Show me open issues related to recipe preprocessing in tidymodels.
js/
: Contains the JavaScript/Node.js server implementationsrc/
: Contains the TypeScript source (if using TypeScript)build/
: Output directory for build files
If you've made changes to the TypeScript files, you can rebuild the server with:
npm run build
This project is licensed under the MIT License - see the LICENSE file for details.
- The tidymodels team for their excellent R packages
- The Model Context Protocol for enabling enhanced AI capabilities