Sitemap
Old Developer

Old Developer

Old developer. Deep roots in software engineering and product lines, still experimenting with agentic AI, new architectures, and better ways to build software.

Don’t Replace Your IDE. Give It an AI Agent.

7 min readOct 8, 2026

--

Press enter or click to view image in full size
AI-generated illustration created for this article.

How Eclipse, AssistAI, and OpenCode can transform a traditional Java development environment into an agentic engineering workspace

Everyone seems to be building a new AI-powered code editor.

New interfaces. New coding assistants. New autonomous agents.

And with every new tool comes the same implicit suggestion:

Perhaps it is time to abandon your old development environment.

But I have a different question.

Why should I abandon one of the most mature Java development environments simply because AI agents have arrived?

Eclipse already understands my projects, dependencies, type hierarchies, compiler errors, refactorings, tests, and debugging sessions.

Years of software engineering knowledge are embedded in that environment.

What if, instead of replacing Eclipse, I could give an AI agent access to its capabilities?

That is what makes the combination of Eclipse + AssistAI + OpenCode particularly interesting.

It is not just another AI coding assistant.

It is a different way to organize software development.

The Problem With AI Coding Outside the IDE

Most coding agents are very comfortable working directly with files.

They read source code, search directories, modify files, execute commands, and inspect results.

This works well for many projects.

But a mature IDE understands much more than files.

Consider a Java refactoring.

Renaming a class is not simply replacing a string.

References may exist across projects, inheritance hierarchies, imports, annotations, and configuration files.

Eclipse’s Java Development Tools (JDT) understand Java’s structure and provide semantic refactoring capabilities.

Similarly, Eclipse provides incremental compilation, project-specific configuration, debugging, and integrated testing.

A coding agent that operates only at the filesystem level may bypass some of this valuable infrastructure.

External file modifications can also introduce synchronization concerns between disk contents, editor buffers, and workspace state.

The problem is not that AI agents cannot modify Java code.

The problem is that they may be ignoring an engineering environment that already knows how to modify Java code safely.

This is where MCP becomes interesting.

MCP: The Bridge Between AI Agents and Eclipse

The Model Context Protocol (MCP) allows AI applications to interact with external tools through standardized interfaces.

Instead of forcing an AI agent to understand every application internally, MCP lets applications expose capabilities that agents can discover and invoke.

This changes the integration model.

The agent does not need to become an Eclipse plugin.

And Eclipse does not need to become an AI coding agent.

They only need a common interface.

AssistAI provides this bridge.

It is an Eclipse plugin that can expose IDE capabilities through MCP servers.

These capabilities include code navigation, editing, Java refactoring, compilation, testing, debugging, and Git operations.

An external MCP-compatible client can therefore ask Eclipse to perform engineering operations.

For example, instead of reading an entire Java source file, an agent can request its class outline or retrieve a specific method.

Instead of performing a textual rename, it can invoke Eclipse’s Java refactoring engine.

Instead of guessing whether a change compiles, it can retrieve compiler diagnostics from the workspace.

The difference is subtle but important.

The AI agent is no longer working around the IDE. It is working through the IDE.

OpenCode Becomes the Orchestrator

Now we need something to coordinate the intelligent work.

That is where OpenCode enters the picture.

OpenCode provides an agentic coding environment that can connect to MCP servers, interact with different language models, and use configurable agents, instructions, and permissions.

Its role is different from Eclipse’s.

Eclipse provides the engineering environment.

AssistAI exposes that environment.

OpenCode coordinates the AI-driven workflow.

The responsibilities become clearer:

Eclipse: Understand the Java workspace and execute IDE-level engineering operations.

AssistAI: Expose selected Eclipse capabilities through MCP.

OpenCode: Interpret tasks, select tools, coordinate agents, and interact with language models.

The developer: Define intent, constraints, quality expectations, and acceptance criteria.

This separation is valuable because each tool does what it is good at.

Eclipse does not need to compete with AI-native coding editors.

OpenCode does not need to reinvent Java’s refactoring engine.

And the developer does not need to abandon an established workflow.

From a Requirement to Verified Java Code

Imagine a practical task in a large Java application.

We need to implement a new communication protocol adapter.

A conventional AI coding workflow might begin by searching files, reading implementations, and directly modifying the source code.

With Eclipse connected through MCP, I can organize the workflow differently.

First, I ask the agent to inspect the relevant Java project.

It discovers the existing interfaces, implementations, type hierarchies, and dependencies.

Next, it examines a reference adapter.

The agent identifies which parts are reusable and which parts must change.

Then I provide explicit constraints:

Implement the new protocol adapter using the existing extension interface. Preserve the shared architecture. Use Eclipse MCP tools for Java modifications and refactorings. Do not introduce unnecessary dependencies. Run the relevant tests and report any unresolved assumptions.

Now the agent has a bounded task.

It can inspect the workspace, create or modify classes, use IDE refactoring operations where appropriate, and request compilation diagnostics.

If tests fail, it can inspect the results and propose corrections.

Finally, it reports what changed and what verification actually succeeded.

The important improvement is not simply automation.

The workflow connects AI-generated decisions to existing engineering mechanisms for checking them.

Get Old Developer’s stories in your inbox

Join Medium for free to get updates from this writer.

The result is potentially more controlled and easier to review than unconstrained code generation.

The IDE Becomes Part of the Agent Harness

In agentic engineering, a harness is the environment surrounding an AI agent.

It determines what the agent can access, what actions it can perform, and how its results are evaluated.

Usually, we think about harnesses in terms of tools, prompts, permissions, tests, and feedback loops.

But a mature IDE already provides many of these capabilities.

Eclipse has a structured workspace.

A compiler.

A Java type system.

Refactoring services.

Debugging infrastructure.

JUnit integration.

Project configuration.

Git integration.

When exposed through MCP, these capabilities can become part of a domain-specific agent harness.

This leads to an interesting architectural idea:

A mature IDE may be more valuable as an agent tool provider than as a competing AI chat interface.

The developer continues working in a familiar environment.

Meanwhile, AI agents gain access to decades of accumulated engineering functionality.

Good Agents Still Need Rules

Connecting powerful tools to an agent does not automatically produce reliable software.

In fact, greater access can create greater risk.

An agent capable of modifying Java classes, executing builds, manipulating Git, and launching applications must operate within clear boundaries.

For my development workflow, I prefer explicit engineering rules.

Java modifications should use the appropriate Eclipse MCP capabilities.

Existing architectural boundaries should be preserved.

New dependencies should require justification.

Tests should be executed before a task is considered complete.

The agent must distinguish between verified results and assumptions.

High-risk operations require human approval.

These rules are not restrictions imposed because AI is weak.

They are engineering controls intended to make powerful automation predictable.

There is also a cost consideration.

Every connected MCP server exposes tool descriptions that can consume model context.

Providing every available tool to every agent is not necessarily efficient.

A developer agent may need editing and compilation capabilities.

A reviewer may need code navigation and diagnostics without write access.

A researcher may need only search and read operations.

The best agent environment is not the one with the most tools. It is the one with the right tools and permissions for the task.

What About Corporate and Legacy Projects?

This architecture becomes especially interesting for long-running enterprise applications.

Many organizations have substantial investments in Eclipse-based development environments.

Their projects may depend on specialized plugins, custom build configurations, internal frameworks, proprietary repositories, or restricted networks.

Migrating everything to a new editor can introduce costs and risks unrelated to the actual business problem.

An MCP-based approach offers another possibility.

Keep the established environment.

Expose approved capabilities.

Connect a suitable coding agent.

Use the language models permitted by the organization.

Of course, this still requires careful handling of source-code confidentiality, authentication tokens, model endpoints, network restrictions, and tool permissions.

And not every Eclipse capability will necessarily be available through MCP.

But the architectural direction is promising.

Modernizing the development workflow does not always require replacing the development environment.

Sometimes it requires making existing capabilities accessible in a new way.

The Developer’s Role Changes Too

There is a deeper consequence.

When an agent can understand project structure, navigate code, request refactorings, run tests, and inspect compiler errors, the developer begins operating at a different level.

Instead of manually performing every action, the developer increasingly defines:

What needs to change?

Where should the change belong?

Which architectural constraints must remain intact?

What should be reused?

How will correctness be verified?

Which decisions require human judgment?

The developer moves from executing every engineering operation toward orchestrating engineering operations.

That does not make Java knowledge less important.

It makes understanding Java architecture, design, and behavior essential for directing and evaluating automated work.

The stronger the engineering foundation, the more effectively the developer can use intelligent agents.

The Future May Not Require a New IDE

The software industry often responds to technological change by replacing existing tools.

Sometimes that is necessary.

But not every innovation requires starting over.

Eclipse has spent decades accumulating sophisticated engineering capabilities.

OpenCode brings agentic orchestration.

AssistAI provides a bridge through MCP.

Together, they suggest an alternative vision for AI-assisted development.

Not an AI editor trying to reproduce everything a mature IDE already does.

Not a coding agent operating blindly on source files.

But a development environment in which existing engineering tools become capabilities available to intelligent agents.

And perhaps that is the most important lesson.

The future of agentic coding may not be about replacing our development environments.

It may be about teaching AI agents how to use them.

Disclosure: I used ChatGPT as a research, drafting, and editorial assistant while developing this article. The engineering perspective, workflow interpretation, and conclusions presented here reflect my own experience and views. Tool capabilities are based on publicly available project documentation; actual functionality depends on the installed versions and configuration.

--

--

Old Developer
Old Developer

Written by Old Developer

Old developer. Deep roots in software engineering and product lines, still experimenting with agentic AI, new architectures, and better ways to build software.