Headless Code Editor MCP Server
oakenai/headless-editor-mcp · 13 stars · TypeScript · MIT
MCP server Headless Editor MCP Server for intelligent code editing
Install
The repo has no one-line install. Follow its README.
Files
Headless Code Editor MCP Server
A robust, language-agnostic headless code editor that leverages the Language Server Protocol (LSP) for code intelligence and the Model Context Protocol (MCP) for AI-assisted code manipulation.
Features
- LSP integration for language intelligence
- Secure file system operations with strict access controls
- Session-based editing with state management
- TypeScript/JavaScript language support with in-depth analysis
- React component detection and manipulation
- Format-preserving edit operations
- Comprehensive logging and error tracking
Installation
# Install dependencies npm install # Build the project npm run build # Run tests npm test
Usage
Starting the Server
# Start with allowed directory node build/index.js /path/to/workspace # Start with multiple allowed directories node build/index.js /path/to/workspace1 /path/to/workspace2
MCP Tools
start_session: Create a new editing sessionedit_code: Apply edits to codevalidate_code: Validate current code stateclose_session: Clean up and close a session
Example Integration
const client = new Client(
{ name: "example-client", version: "1.0.0" },
{ capabilities: {} }
);
// Connect to server
const transport = new StdioClientTransport({
command: "node",
args: ["./build/index.js", "/workspace"]
});
await client.connect(transport);
// Start session
const result = await client.request({
method: "tools/call",
params: {
name: "start_session",
arguments: {
filePath: "/workspace/example.ts",
languageId: "typescript"
}
}
});
Architecture
- LSP Manager: Coordinates language server lifecycle and communication
- Document Manager: Handles document state and synchronization
- Session Manager: Manages editing sessions and state
- Edit Operation Manager: Processes and validates code edits
- File System Manager: Provides secure file system access
Security Features
- Path validation and normalization
- Access control through allowed directories
- Input sanitization
- File system operation boundaries
- Symlink security checks
Incomplete Tasks
Language Support
- Python language server integration
- Java language server integration
- Support for additional language servers
Framework Support
- Component state analysis
- Hook dependencies tracking
- Automatic import management
- Type-aware refactoring
Edit Operations
- Multi-file edit operations
- Complex refactoring operations
- Workspace-wide changes
- Conflict resolution system
Performance
- Operation batching
- Incremental update optimization
- Memory usage optimization
- Large file handling improvements
Testing
- End-to-end test suite
- Performance benchmarks
- Load testing
- Cross-platform testing
Documentation
- API documentation
- Integration guides
- Deployment guide
- Troubleshooting guide
Infrastructure
- Remote server support
- Configuration system
- Plugin architecture
- Workspace indexing
Monitoring
- Performance metrics
- Operation analytics
- Health monitoring
- Resource usage tracking
Contributing
- Fork the repository
- Create your feature branch
- Add tests for new functionality
- Ensure all tests pass
- Submit a pull request
Documentation
Architecture and Design
- Core Architecture: Foundational architecture and system design
- LSP Smart Editor Architecture: Language Server Protocol integration details
- Framework Integration Guide: Framework-specific support and integration patterns
- Language Server Integration: Language server implementation and configuration
- MVP Implementation Plan: Development roadmap and implementation stages
Our documentation covers:
- System architecture and design principles
- Component interactions and dependencies
- Framework integration patterns
- Language server specifications
- Implementation guidelines and best practices
- Security considerations
- Performance optimization strategies
For additional documentation needs, see our Incomplete Tasks section.
License
MIT
Development Status
Currently in alpha stage (v0.0.10) with basic TypeScript/JavaScript support and React component analysis. See the Incomplete Tasks section for planned features.
Facts
- Kind
- MCP server
- Group
- Uncategorized
- Stars
- 13
- License
- MIT
- Language
- TypeScript
- Last push
- 2024-12-14
- Forks
- 4
- 1REAio.github.morluto/reaReverse engineer anything from your terminal or agent with one CLI and MCP server.125.3k
- 2com.browser-use/browser-usecom.browser-use/browser-useControl a real Chrome browser to complete any task: fill forms, extract data, book flights.117.7k
- 3World Monitorapp.worldmonitor/mcpLive markets, conflicts, country risk, chokepoints, energy, and China decision signals. 93 tools.88.3k
- 4Scrapling MCP Serverd4vinci/scrapling🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scraplingdev86.9k
- 5Everythingmodelcontextprotocol/serversThis MCP server attempts to exercise all the features of the MCP protocol. It is not intended to be a useful server, but rather a test server for builders of MCP clients. It implements prompts, tools, resources, sampling, and more to showcase MCP capabilities.85.8k
- 6Fetchmodelcontextprotocol/serversA Model Context Protocol server that provides web content fetching capabilities. This server enables LLMs to retrieve and process content from web pages, converting HTML to markdown for easier consumption.85.8k