User bio
404 bio not found
Member since Apr 13
Posts:
Ernest has not published any posts yet.
Replies:
Ernest Salas · 13 hr ago go to post

It's very much a proof of concept, not a polished package, but the core idea works well in practice. A typical flow: Claude uses iris_search to locate relevant classes, iris_read_method to understand what they do, iris_edit_document to make a change, and iris_compile to verify it. All server-side. Source and installation instructions here:  https://github.com/esalas-devel/iris-mcp-atelier

Happy for people to fork it and make it better — there's plenty that could be hardened or extended.

Hi Mark,

We ran into this exact same wall. Large IRIS codebase, server-side source control, and Claude Code completely blind to everything behind isfs://.

What ended up working for us was a completely different angle: instead of trying to make Claude see the VS Code virtual filesystem, we built an MCP server that wraps the Atelier REST API, the same /api/atelier/v1/ endpoints that VS Code's ObjectScript extension already uses under the hood.

MCP (Model Context Protocol) is basically a way to give AI tools like Claude Code access to external tools they can call on their own. So now Claude has direct access to IRIS: it can read documents, write them, search across all classes and routines, get class metadata, compile, run SQL queries, check ^ERRORS for debugging, and so on. Around 20 tools in total.

- iris_read_document / iris_write_document — Read and write full classes, routines, includes, etc.
- iris_edit_document — Find/replace within a document on the server, without needing to transfer the full content back and forth. This is incredibly efficient for small edits.
- iris_compile — Compile one or more documents and get compilation errors back.
- iris_search — Full-text search across all documents (classes, routines, includes, CSP pages). Essential for Claude to understand how things connect.
- iris_list_documents — List and filter documents by type and name pattern.
- iris_get_class_info — Get class metadata: properties, methods, parameters, indexes — without reading the raw source.
- iris_read_method — Read just one method from a class. Much more efficient than reading the entire class when Claude only needs to check one method.
- iris_get_class_hierarchy — Explore superclass/subclass relationships.
- iris_execute_query — Run SQL queries (read-only SELECT) directly on the server.
- iris_explain_query — Get SQL execution plans for query optimization.
- iris_call_classmethod — Execute ClassMethods via REST.
- iris_view_errors — Read the ^ERRORS global for debugging.
- iris_server_info — Get server version, available namespaces, etc.

One tool that turned out to be surprisingly useful is a find/replace edit operation that runs server-side — Claude sends the old string and the new string, and the server does the swap without transferring the full document back and forth. Much more efficient for small changes than reading the whole class, modifying it locally, and writing it back.

The practical result is that Claude can now do the full cycle autonomously: search the codebase to understand the context, read the relevant methods, make edits, compile, and report back any errors. All server-side, no local files involved.

The big win for us was that we didn't have to change our workflow at all. Code stays on the server, source control keeps working as before, no sync headaches. Claude just talks to IRIS directly.

The MCP server itself is a Node.js app — nothing too exotic.

Certifications & Credly badges:
Ernest has no Certifications & Credly badges yet.
Followers:
Ernest has no followers yet.
Following:
Ernest has not followed anybody yet.