Cedardiff
Edit files using CEDARScript, a SQL-like language for code manipulation.
cedardiff MCP Server
Edit files with CEDARScript grammar rules
This is a TypeScript-based MCP server that implements CEDARScript, a SQL-like language for code manipulation. It provides:
- A comprehensive grammar for code manipulation commands
- Tools for executing CEDARScript operations
- Support for complex pattern matching and transformations
Features
Grammar
- SQL-like syntax for code operations (DDL, DML)
- Support for file, function, class, and method targeting
- Pattern matching with regex, prefix/suffix, and indentation rules
- Block-level code manipulation capabilities
Tools
edit_file- Execute CEDARScript commands- Takes script and working directory as parameters
- Supports file creation, deletion, moving, and updating
- Pattern-based code transformations
Implementation Status
Current testing has revealed:
- Command parsing works correctly
- Grammar supports complex operations
- File writing mechanism needs improvement
- Success messages returned but changes not persisted
Development
Install dependencies:
npm install
Build the server:
npm run build
For development with auto-rebuild:
npm run watch
Installation
To use with Claude Desktop, add the server config:
On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"cedardiff": {
"command": "/path/to/cedardiff/build/index.js"
}
}
}
Debugging
Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector, which is available as a package script:
npm run inspector
The Inspector will provide a URL to access debugging tools in your browser.
ES Module Migration
The project has been migrated to use ES modules. Key changes include:
- Added
"type": "module"topackage.json - Updated
tsconfig.jsonto use"module": "ESNext" - Converted import/export statements to ES module syntax
- Updated type definitions to be compatible with ES modules
Compatibility Notes
- Ensure you are using Node.js version 12 or higher
- Use
importinstead ofrequire()for module imports - Use
.jsextension when importing local files
Related Servers
Scout Monitoring MCP
sponsorPut performance and error data directly in the hands of your AI assistant.
Alpha Vantage MCP Server
sponsorAccess financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
UnityNaturalMCP
An MCP server implementation for the Unity game engine that enables a natural user experience.
Tox Testing
Executes tox commands to run Python tests with pytest. Requires the TOX_APP_DIR environment variable to be set.
Substrate MCP Server
A Model Context Protocol (MCP) server for Substrate blockchains, written in Rust.
Remote Terminal MCP for Cursor
A remote terminal tool for Cursor to manage and connect to remote servers via SSH, jump hosts, and Docker containers.
Mermaid
Generate mermaid diagram and chart with AI MCP dynamically.
Image Generation
Generate images from text prompts using the Together AI API.
MCP Time Server
Provides tools for getting the current time and date, and formatting timestamps in various formats and timezones.
Image Tools MCP
Retrieve image dimensions and compress images from URLs or local files using Tinify and Figma APIs.
Diffchunk
Navigate large diff files with intelligent chunking and navigation tools.
MCP SFTP Orchestrator
Orchestrates remote server tasks via SSH and SFTP with a persistent queue. Ideal for DevOps and AI agents.