Cedardiff MCP Server

by th3w1zard1

8 stars
Not rated
GitHub

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

Setting up with Highlight

Follow these steps to add this server as a custom Highlight plugin:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Cedardiff MCP Server
    Command (node, npx, python, etc.) node
    Arguments
    • 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.

  4. 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

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.