PureScript MCP Server

An MCP server offering PureScript development tools for AI assistants. Requires Node.js and the PureScript compiler for full functionality.

PureScript MCP Tools

npm version License: MIT

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

  1. Find your Claude config file:

    • Mac: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%/Claude/claude_desktop_config.json
  2. 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"]
    }
  }
}
  1. Restart Claude Desktop.

For Other MCP Clients

Configure as a stdio MCP server:

  • Command: npx (or node if 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 file
  • getImports - List all imports from a module
  • getAllFunctionNames - Get all function definitions
  • getExports - List exported values
  • getFunctionSignature - Get type signature for a function
  • getDependencyGraph - Generate module dependency graph

PureScript IDE Integration

  • start_purs_ide_server - Start a PureScript IDE server
  • stop_purs_ide_server - Stop the IDE server
  • pursIdeLoad - Load modules into IDE
  • pursIdeType - Get type information
  • pursIdeComplete - Get completion suggestions
  • pursIdeUsages - Find where a symbol is used
  • pursIdeCaseSplit - Generate case splits
  • pursIdeAddClause - Add function clause
  • pursIdeImport - Add imports

Basic Workflow

  1. Check status: get_server_status
  2. For simple analysis: Use static analysis tools directly
  3. For advanced features:
    • start_purs_ide_server with your project path
    • pursIdeLoad to 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

Acknowledgments

This server implements the Model Context Protocol and provides comprehensive PureScript development assistance to AI tools.

Related Servers