AssistAI MCP Server

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…

Remote server

What is the AssistAI MCP Server?

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.

Hosted connection

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.

Source

Project documentation · Repository · Discovery listing. This profile records the public documentation checked on 2026-10-08.

Recorded tools

Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.

ToolWhat it does
createFileCreates a new file, adds it to the project, and opens it in the editor
insertIntoFileInserts content at a specific position in an existing file
replaceStringReplaces a specific string in a file, optionally within a line range
applyPatchAtomically applies a validated unified diff, preserves line endings, supports multi-hunk edits, creates an undo backup, and reveals the first changed line
formatFileFormats a file using its registered Eclipse editor formatter (Java, XML, JSON, HTML, SQL, and other supported editors)
undoEditRestores a file from its backup (undo last edit)
createDirectoriesCreates a directory structure recursively
renameFileRenames a file in a project
deleteFileDeletes a file from a project
replaceFileContentReplaces the entire content of a file
deleteLinesInFileDeletes a range of lines (1-based indexing)
refactorRenameJavaTypeRenames a Java type using Eclipse's refactoring, updating all references
refactorRenameJavaElementRenames the method, field, local, parameter, type parameter or type at a line and column, updating all references
refactorExtractTypeToNewFileExtracts a nested Java type to a new top-level Java file using Eclipse's refactoring
refactorMoveJavaTypeMoves a Java type to a different package, updating all references
refactorRenamePackageRenames a package, updating all declarations and references
moveResourceMoves a file or folder to a different location
organizeImportsRemoves unused imports and sorts existing imports; does not add missing imports
organizeImportsInPackageRemoves unused imports and sorts existing imports across a package
getSourceSource of a workspace or referenced-library class; prefers attached source JARs and decompiles binaries when source is unavailable
explainTypeResolutionExplain how a type resolves in a specific project's JDT classpath: source/binary origin, root, entry, attachment, class file, and source/decompilation strategy
getClassOutlineCompact class outline -- declarations and method signatures (no bodies) with line numbers and each member's Javadoc summary
getMethodSourceSource of specific methods by name, with overload disambiguation
getFilteredSourceFull source with non-selected methods collapsed to signatures
readProjectResourceRead a text resource, with optional import block collapsing
readImageResourceReturn a workspace image as native MCP ImageContent (PNG, JPEG, GIF, BMP, TIFF, or ICO; maximum 20 MiB)
getJavaDocRendered JavaDoc of a type and its members, inherited text included
formatCodeFormat code using Eclipse formatter settings
getProjectPropertiesProject properties and configuration
getProjectLayoutFile/folder structure with scopePath and maxDepth support
listProjectsAll workspace projects with detected natures
listMavenProjectsAll Maven projects in the workspace
getCurrentlyOpenedFileCurrently active file in the editor
getEditorSelectionSelected text or lines in the active editor
getConsoleOutputRecent Eclipse console output
getMethodCallHierarchyCall hierarchy (callers) for a method
getTypeHierarchyType hierarchy (supertypes, interfaces, subtypes)
findReferencesAll references to a type, method, or field across the workspace
getCompilationErrorsCompilation errors from the workspace or a project
getQuickFixesAvailable quick fixes for compilation errors
getImportSuggestionsImport candidates for unresolved types
fileSearchSubstring search in workspace files
fileSearchRegExpRegex search in workspace files
findFilesGlob pattern file search
searchAndReplaceSearch and replace across multiple files
runAllTestsRun all tests in a project
runPackageTestsRun tests in a specific package
runClassTestsRun tests for a specific class
runTestMethodRun a specific test method
findTestClassesClassify plain JUnit and PDETest harness tests; warns about likely PDE-dependent tests that violate the naming convention
runMavenBuildRun 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
getEffectivePomEffective POM for a Maven project
getProjectDependenciesMaven project dependencies
getMarkdownOutlineHeading structure (TOC) of a Markdown file with line numbers and section sizes
getMarkdownSectionRead a specific section from a Markdown file by heading name or index
runJavaApplicationLaunch in run mode with optional arguments and timeout
debugJavaApplicationLaunch in debug mode, stops at breakpoints
launchConfigurationLaunch an existing saved launch configuration by name (reuses its classpath, VM args, env, working dir, JRebel, etc.) in run or debug mode
listLaunchConfigurationsList saved launch configurations (name, type, project, main class)
stopApplicationStop a running/debugging application
listActiveLaunchesList all running/debugging applications
toggleBreakpointSet or remove a line breakpoint
setConditionalBreakpointBreakpoint with condition expression and optional hit count
listBreakpointsList all breakpoints with status and conditions
removeAllBreakpointsRemove all breakpoints
getStackTraceStack trace of all threads with local variables
evaluateExpressionEvaluate a Java expression in a suspended debug frame
resumeDebugResume execution of a suspended session
stepOverStep over the current line
stepIntoStep into the method call
stepReturnStep out of the current method
hotCodeReplacePush code changes into a running debug session without restarting
listCachedResourcesLists all resources in the conversation cache -- URIs, types, versions, timestamps, token estimates
getCachedResourceGets cached resource content by URI without disk I/O
getCacheStatsCache statistics: resource count, token usage, limits
getFileHistoryLists Local History versions of a file with timestamps and sizes
getFileHistoryContentReads the content of a specific Local History version
restoreFileVersionRestores a file to a specific Local History version
compareWithHistoryShows a unified diff between current content and a historical version
gitStatusWorking tree status -- staged, unstaged, untracked files, branch tracking info
gitLogCommit history from any revision, optionally only the commits touching given project-relative paths
gitShowOne commit with its parents and the diff it introduced, per file and as a unified diff
gitReadFileRead a UTF-8 text file from HEAD, a branch/tag/commit, or the staged INDEX without changing the working tree
gitDiffUnified diff of unstaged or staged changes, or between two revisions, with optional project-relative path filters and whitespace-insensitive comparison
gitAddStage project-relative files or folders (comma-separated; '.' for the whole project)
gitStagePatchStage selected unified-diff hunks directly into the index without changing the working tree
gitCommitCommit staged changes; optionally stage every tracked change first (-a) or amend the previous commit
gitResetUnstage project-relative files from the index
gitDiscardChangesRestore tracked files from the index, dropping their uncommitted modifications
gitResetToRevisionMove the branch to a revision (soft, mixed or hard) -- undo commits, or abandon a conflicted merge
gitBranchList branches (local or including remote)
gitCreateBranchCreate a new branch from HEAD or a specified start point
gitDeleteBranchDelete a branch (with optional force)
gitCheckoutSwitch to a branch
gitMergeMerge a branch, tag or commit; reports fast-forward, merge commit, squash, conflicts or blocking local changes as structured fields
gitRebaseRebase onto an upstream and drive it through conflicts with CONTINUE, SKIP or ABORT
gitCherryPickApply existing commits to the current branch as new commits
gitRevertUndo existing commits with new reverse commits
gitStashStash working directory changes
gitStashPopApply and drop the most recent stash
gitStashListList all stash entries
gitRemoteListList remotes with their fetch and push URLs
gitFetchFetch from a remote and report every remote-tracking ref that moved
gitPullFetch and merge, or rebase onto, the upstream; conflicts and blocking changes are reported as files
gitPushPush a branch, optionally recording it as upstream or forcing; a rejection names the remedy
getActiveTargetShow the active PDE target platform
setActiveTargetLoad and activate a target definition
reloadTargetReload the active target after its contents change
runJUnitPluginTestsRun a plug-in project's tests in the PDE harness
runJUnitPluginTestClassRun one PDETest class in the PDE harness
runJUnitPluginTestClassesRun selected PDETest classes in one PDE launch, avoiding repeated workbench startup
restartMcpServersRebuild HTTP MCP servers after a safe delay so the current response can finish
reloadWorkspaceBundleUpdate an OSGi bundle only when backed by an open workspace project; system, fragment, and installed-only bundles are rejected
ServerTool
duck-duck-searchwebSearch
memorythink
webpage-readerreadWebPage
timeconvertTimeZone

How to install the AssistAI MCP Server

{
  "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.