PureScript MCP Server
A Model Context Protocol server that provides PureScript development tools for AI assistants, enabling code analysis, type lookups, and IDE server management without requiring heavy IDE setup.
README Documentation
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.