drunnells/pulsar-edit-mcp-server
If you are the rightful owner of pulsar-edit-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
The Pulsar Edit MCP Server is an experimental tool designed to integrate an LLM with the Pulsar editor for enhanced software development assistance.
Pulsar Edit MCP Server & LLM Coding Assistant
| :warning: WARNING |
|---|
| Very experimental and incomplete. Use at your own risk! |
This is an early attempt at making an MCP server and chat assistant to control the Pulsar editor. The goal is to enable an LLM to assist with software development in Pulsar using the built in chat panel or a tool like AnythingLLM as a chat client.
Built in chat:
AnythingLLM chat:
Installation:
ppm install https://github.com/drunnells/pulsar-edit-mcp-server
After the Pulsar package is installed, set the MCP server to lisen in Packages->MCP Server->Listen
You will see a "MCP:On" tile in the lower left of the Pulsar editor.
Settings
mcpServers JSON:
If you are using a 3rd party LLM client instead of the built-in chat, your client will need to have the below mcpServers configuration.
{
"mcpServers": {
"pulsar-edit-mcp-server": {
"url": "http://localhost:3000/mcp",
"disabled": false,
"alwaysAllow": [],
"type": "streamable"
}
}
}
Supported commands
- Replace Text - Search the active editor for
queryand replace it withreplacement. - Get Context Around - Return up-to
radiusLineslines before and after the N-th match ofqueryin the active editor. Useful for content-aware edits. - Find Text - Search the active editor for a substring or regular expression and return the positions of each occurrence (up to
maxMatches). - Replace Document - Replace entire contents of the document
- Insert Line - Insert a blank line at row
- Insert Text At Line - Insert a block of text at the specified line number, shifting existing text down. Prefer replace-document for large edits.
- Delete Line - Delete a single line
- Delete Line Range - Delete a range of lines
- Get Selection - Get the selected text
- Get Document - Get an array of each line in the document with line numbers
- Get Line Count - Get the total number of lines in the current document
- Get Filename - Get the filename of the current document
- Get Full Path - Get the full path of the current document
- Get Project Files - Get all project files in the current project
- Open File - Open a file (or move to that file's tab if already open)
- Undo - Undo the last change in the editor
- Redo - Redo the last undo in the editor
Background
I've written a quick blog post around my motivations and some of the challenges that I initially encountered.
Contributing
This project is still in its very early stages. I'm hoping to turn it into something useful one day. If you’re interested in helping shape it, any contribution is welcome and appreciated!