AssistAI is an Eclipse IDE plugin that exposes your entire development environment as an MCP (Model Context Protocol) server. External AI agents -- Claude Code, OpenAI Codex, Claude Desktop, or any…
AssistAI is an MCP project maintained in the gradusnikov/eclipse-chatgpt-plugin repository. The maintainer describes its purpose as “AssistAI is an Eclipse IDE plugin that exposes your entire development environment as an MCP (Model Context Protocol) server. External AI agents -- Claude Code…”. Read the project documentation for the complete scope.
The maintainer’s configuration uses http://localhost:8124/mcp/eclipse-ide. Check the project’s account and authentication instructions when adding the endpoint to your client.
Project documentation · Repository · Discovery listing. This profile records the public documentation checked on 2026-10-08.
Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.
| Tool | What it does |
|---|---|
| createFile | Creates a new file, adds it to the project, and opens it in the editor |
| insertIntoFile | Inserts content at a specific position in an existing file |
| replaceString | Replaces a specific string in a file, optionally within a line range |
| applyPatch | Atomically applies a validated unified diff, preserves line endings, supports multi-hunk edits, creates an undo backup, and reveals the first changed line |
| formatFile | Formats a file using its registered Eclipse editor formatter (Java, XML, JSON, HTML, SQL, and other supported editors) |
| undoEdit | Restores a file from its backup (undo last edit) |
| createDirectories | Creates a directory structure recursively |
| renameFile | Renames a file in a project |
| deleteFile | Deletes a file from a project |
| replaceFileContent | Replaces the entire content of a file |
| deleteLinesInFile | Deletes a range of lines (1-based indexing) |
| refactorRenameJavaType | Renames a Java type using Eclipse's refactoring, updating all references |
| refactorRenameJavaElement | Renames the method, field, local, parameter, type parameter or type at a line and column, updating all references |
| refactorExtractTypeToNewFile | Extracts a nested Java type to a new top-level Java file using Eclipse's refactoring |
| refactorMoveJavaType | Moves a Java type to a different package, updating all references |
| refactorRenamePackage | Renames a package, updating all declarations and references |
| moveResource | Moves a file or folder to a different location |
| organizeImports | Removes unused imports and sorts existing imports; does not add missing imports |
| organizeImportsInPackage | Removes unused imports and sorts existing imports across a package |
| getSource | Source of a workspace or referenced-library class; prefers attached source JARs and decompiles binaries when source is unavailable |
| explainTypeResolution | Explain how a type resolves in a specific project's JDT classpath: source/binary origin, root, entry, attachment, class file, and source/decompilation strategy |
| getClassOutline | Compact class outline -- declarations and method signatures (no bodies) with line numbers and each member's Javadoc summary |
| getMethodSource | Source of specific methods by name, with overload disambiguation |
| getFilteredSource | Full source with non-selected methods collapsed to signatures |
| readProjectResource | Read a text resource, with optional import block collapsing |
| readImageResource | Return a workspace image as native MCP ImageContent (PNG, JPEG, GIF, BMP, TIFF, or ICO; maximum 20 MiB) |
| getJavaDoc | Rendered JavaDoc of a type and its members, inherited text included |
| formatCode | Format code using Eclipse formatter settings |
| getProjectProperties | Project properties and configuration |
| getProjectLayout | File/folder structure with scopePath and maxDepth support |
| listProjects | All workspace projects with detected natures |
| listMavenProjects | All Maven projects in the workspace |
| getCurrentlyOpenedFile | Currently active file in the editor |
| getEditorSelection | Selected text or lines in the active editor |
| getConsoleOutput | Recent Eclipse console output |
| getMethodCallHierarchy | Call hierarchy (callers) for a method |
| getTypeHierarchy | Type hierarchy (supertypes, interfaces, subtypes) |
| findReferences | All references to a type, method, or field across the workspace |
| getCompilationErrors | Compilation errors from the workspace or a project |
| getQuickFixes | Available quick fixes for compilation errors |
| getImportSuggestions | Import candidates for unresolved types |
| fileSearch | Substring search in workspace files |
| fileSearchRegExp | Regex search in workspace files |
| findFiles | Glob pattern file search |
| searchAndReplace | Search and replace across multiple files |
| runAllTests | Run all tests in a project |
| runPackageTests | Run tests in a specific package |
| runClassTests | Run tests for a specific class |
| runTestMethod | Run a specific test method |
| findTestClasses | Classify plain JUnit and PDETest harness tests; warns about likely PDE-dependent tests that violate the naming convention |
| runMavenBuild | Run a Maven build the way Run As > Maven build does, with the full Maven log in the console; reports exit code, [ERROR] lines and the log tail |
| getEffectivePom | Effective POM for a Maven project |
| getProjectDependencies | Maven project dependencies |
| getMarkdownOutline | Heading structure (TOC) of a Markdown file with line numbers and section sizes |
| getMarkdownSection | Read a specific section from a Markdown file by heading name or index |
| runJavaApplication | Launch in run mode with optional arguments and timeout |
| debugJavaApplication | Launch in debug mode, stops at breakpoints |
| launchConfiguration | Launch an existing saved launch configuration by name (reuses its classpath, VM args, env, working dir, JRebel, etc.) in run or debug mode |
| listLaunchConfigurations | List saved launch configurations (name, type, project, main class) |
| stopApplication | Stop a running/debugging application |
| listActiveLaunches | List all running/debugging applications |
| toggleBreakpoint | Set or remove a line breakpoint |
| setConditionalBreakpoint | Breakpoint with condition expression and optional hit count |
| listBreakpoints | List all breakpoints with status and conditions |
| removeAllBreakpoints | Remove all breakpoints |
| getStackTrace | Stack trace of all threads with local variables |
| evaluateExpression | Evaluate a Java expression in a suspended debug frame |
| resumeDebug | Resume execution of a suspended session |
| stepOver | Step over the current line |
| stepInto | Step into the method call |
| stepReturn | Step out of the current method |
| hotCodeReplace | Push code changes into a running debug session without restarting |
| listCachedResources | Lists all resources in the conversation cache -- URIs, types, versions, timestamps, token estimates |
| getCachedResource | Gets cached resource content by URI without disk I/O |
| getCacheStats | Cache statistics: resource count, token usage, limits |
| getFileHistory | Lists Local History versions of a file with timestamps and sizes |
| getFileHistoryContent | Reads the content of a specific Local History version |
| restoreFileVersion | Restores a file to a specific Local History version |
| compareWithHistory | Shows a unified diff between current content and a historical version |
| gitStatus | Working tree status -- staged, unstaged, untracked files, branch tracking info |
| gitLog | Commit history from any revision, optionally only the commits touching given project-relative paths |
| gitShow | One commit with its parents and the diff it introduced, per file and as a unified diff |
| gitReadFile | Read a UTF-8 text file from HEAD, a branch/tag/commit, or the staged INDEX without changing the working tree |
| gitDiff | Unified diff of unstaged or staged changes, or between two revisions, with optional project-relative path filters and whitespace-insensitive comparison |
| gitAdd | Stage project-relative files or folders (comma-separated; '.' for the whole project) |
| gitStagePatch | Stage selected unified-diff hunks directly into the index without changing the working tree |
| gitCommit | Commit staged changes; optionally stage every tracked change first (-a) or amend the previous commit |
| gitReset | Unstage project-relative files from the index |
| gitDiscardChanges | Restore tracked files from the index, dropping their uncommitted modifications |
| gitResetToRevision | Move the branch to a revision (soft, mixed or hard) -- undo commits, or abandon a conflicted merge |
| gitBranch | List branches (local or including remote) |
| gitCreateBranch | Create a new branch from HEAD or a specified start point |
| gitDeleteBranch | Delete a branch (with optional force) |
| gitCheckout | Switch to a branch |
| gitMerge | Merge a branch, tag or commit; reports fast-forward, merge commit, squash, conflicts or blocking local changes as structured fields |
| gitRebase | Rebase onto an upstream and drive it through conflicts with CONTINUE, SKIP or ABORT |
| gitCherryPick | Apply existing commits to the current branch as new commits |
| gitRevert | Undo existing commits with new reverse commits |
| gitStash | Stash working directory changes |
| gitStashPop | Apply and drop the most recent stash |
| gitStashList | List all stash entries |
| gitRemoteList | List remotes with their fetch and push URLs |
| gitFetch | Fetch from a remote and report every remote-tracking ref that moved |
| gitPull | Fetch and merge, or rebase onto, the upstream; conflicts and blocking changes are reported as files |
| gitPush | Push a branch, optionally recording it as upstream or forcing; a rejection names the remedy |
| getActiveTarget | Show the active PDE target platform |
| setActiveTarget | Load and activate a target definition |
| reloadTarget | Reload the active target after its contents change |
| runJUnitPluginTests | Run a plug-in project's tests in the PDE harness |
| runJUnitPluginTestClass | Run one PDETest class in the PDE harness |
| runJUnitPluginTestClasses | Run selected PDETest classes in one PDE launch, avoiding repeated workbench startup |
| restartMcpServers | Rebuild HTTP MCP servers after a safe delay so the current response can finish |
| reloadWorkspaceBundle | Update an OSGi bundle only when backed by an open workspace project; system, fragment, and installed-only bundles are rejected |
| Server | Tool |
| duck-duck-search | webSearch |
| memory | think |
| webpage-reader | readWebPage |
| time | convertTimeZone |
{
"mcpServers": {
"eclipse-ide": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"http://localhost:8124/mcp/eclipse-ide",
"--allow-http",
"--header",
"Authorization: Bearer YOUR_TOKEN"
]
}
}
}From the project documentation. Replace placeholders and example paths before connecting.
Read, search and edit files inside allowed directories with the Model Context Protocol reference Filesystem server.
Retrieve version-aware library documentation and code examples with Context7 MCP, using resolve-library-id and query-docs.
High-performance string search MCP server based on krep
💳 mkopo-mcp — Alternative Credit Scoring MCP Server
APIMatic MCP Server is used to validate OpenAPI specifications using APIMatic. The server processes OpenAPI files and returns validation summaries by
Requirements authority for AI coding agents: binding requirements and acceptance criteria.