PureScript MCP Tools
A Model Context Protocol (MCP) server that provides PureScript development tools for AI assistants like Claude.
Features
- Code Analysis: Parse and analyze PureScript code structure without heavy IDE setup
- PureScript IDE Integration: Start and manage PureScript IDE servers
- Type Information: Look up types and find code usages
- Dependency Graphs: Generate visual representations of module dependencies
- AI-First: Built specifically for AI assistants using the Model Context Protocol
Installation
Via npm (Recommended)
npm install -g purescript-mcp-tools
From Source
# Clone this repository
git clone https://github.com/avi892nash/purescript-mcp-tools.git
cd purescript-mcp-tools
# Install dependencies
npm install
# Test that it works
npm test
Configuration
For Claude Desktop
-
Find your Claude config file:
- Mac:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%/Claude/claude_desktop_config.json
- Mac:
-
Add this server configuration:
If installed via npm:
{
"mcpServers": {
"purescript-tools": {
"command": "npx",
"args": ["purescript-mcp-tools"]
}
}
}
If installed from source:
{
"mcpServers": {
"purescript-tools": {
"command": "node",
"args": ["/FULL/PATH/TO/purescript-mcp-tools/index.js"]
}
}
}
- Restart Claude Desktop.
For Other MCP Clients
Configure as a stdio MCP server:
- Command:
npx(ornodeif from source) - Arguments:
["purescript-mcp-tools"](or["/full/path/to/index.js"]if from source) - Protocol: stdio
Usage
Verify Installation
In your MCP client, try running:
get_server_status
You should see a response showing the server is running.
Available Tools
This MCP server provides the following tools:
Static Analysis (No IDE Required)
getModuleName- Extract module name from PureScript filegetImports- List all imports from a modulegetAllFunctionNames- Get all function definitionsgetExports- List exported valuesgetFunctionSignature- Get type signature for a functiongetDependencyGraph- Generate module dependency graph
PureScript IDE Integration
start_purs_ide_server- Start a PureScript IDE serverstop_purs_ide_server- Stop the IDE serverpursIdeLoad- Load modules into IDEpursIdeType- Get type informationpursIdeComplete- Get completion suggestionspursIdeUsages- Find where a symbol is usedpursIdeCaseSplit- Generate case splitspursIdeAddClause- Add function clausepursIdeImport- Add imports
Basic Workflow
- Check status:
get_server_status - For simple analysis: Use static analysis tools directly
- For advanced features:
start_purs_ide_serverwith your project pathpursIdeLoadto load modules- Use
pursIdeType,pursIdeUsages, etc.
Requirements
- Node.js >= 14.0.0
- PureScript compiler (
purs) - Required only if using IDE features - Your PureScript project - With compiled output for IDE features
Troubleshooting
Server won't start: Check that Node.js is installed and dependencies are installed (npm install)
Tools not working: Run get_server_status to see what's available
Path errors: Ensure you use absolute paths in your MCP configuration
Multiple servers: Only run one PureScript IDE server at a time to avoid port conflicts
Contributing
Contributions are welcome! Please see CONTRIBUTING.md for guidelines.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
Acknowledgments
This server implements the Model Context Protocol and provides comprehensive PureScript development assistance to AI tools.