Cedardiff MCP Server
About
Edit files using CEDARScript, a SQL-like language for code manipulation.
Details
- Author
- th3w1zard1
- Repository
- oldrepublicwizard/cedarscript-mcp
- GitHub stars
- 8
- Categories
- Developer Tools, Other
- Tags
- #data
Jump to
Setting up with Highlight
Follow these steps to add this server as a custom Highlight plugin:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Cedardiff MCP ServerCommand (node, npx, python, etc.)nodeArguments-
Argument 1
/path/to/cedardiff/build/index.js
Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
-
Argument 1
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
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"
}
}
}
edit_file
Execute CEDARScript commands. Takes script and working directory as parameters. Supports file creation, deletion, moving, and updating, along with pattern-based code transformations.
- edit_file - Execute CEDARScript commands
- Takes script and working directory as parameters
- Supports file creation, deletion, moving, and updating
- Pattern-based code transformations
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"cedardiff mcp server": {
"cwd": null,
"env": {},
"args": [
"/path/to/cedardiff/build/index.js"
],
"shell": false,
"command": "node"
}
}
}
Linux
{
"cwd": null,
"env": [],
"args": [
"/path/to/cedardiff/build/index.js"
],
"shell": false,
"command": "node"
}
Macos
{
"cwd": null,
"env": [],
"args": [
"/path/to/cedardiff/build/index.js"
],
"shell": false,
"command": "node"
}
Windows
{
"cwd": null,
"env": [],
"args": [
"/path/to/cedardiff/build/index.js"
],
"shell": false,
"command": "node"
}
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" to package.json
- Updated tsconfig.json to 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 import instead of require() for module imports
- Use .js extension when importing local files
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





