headless-editor-mcp
Headless Editor MCP Server for intelligent code editing
Documentation
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 testUsage
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/workspace2MCP Tools
1. `start_session`: Create a new editing session
2. `edit_code`: Apply edits to code
3. `validate_code`: Validate current code state
4. `close_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
1. Fork the repository
2. Create your feature branch
3. Add tests for new functionality
4. Ensure all tests pass
5. 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.
Frequently asked questions
What is headless-editor-mcp?
headless-editor-mcp is Headless Editor MCP Server for intelligent code editing
How do I install headless-editor-mcp?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is headless-editor-mcp open source?
Yes — it is hosted on GitHub at https://github.com/oakenai/headless-editor-mcp and has 11 stars.
Related MCP tools
Playwright MCP server TypeScript-based implementation. Trusted by 22000+ developers. Trusted by 22000+ developers. Trusted by 22000+ developers.
Official Notion MCP Server TypeScript-based implementation. Trusted by 3400+ developers. Trusted by 3400+ developers. Trusted by 3400+ developers.
Directory for Awesome MCP Servers TypeScript-based implementation. Trusted by 1900+ developers. Trusted by 1900+ developers.
🧩 MCP Gateway - A lightweight gateway service that instantly transforms existing MCP Servers and APIs into MCP servers with zero code changes.
MCP Aggregator, Orchestrator, Middleware, Gateway in one docker TypeScript-based implementation. Trusted by 1400+ developers.
MCP Server for kubernetes management commands TypeScript-based implementation. Trusted by 1100+ developers. Trusted by 1100+ developers.
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP