intersystems-community/fhir-ai-hackathon-kit/iris-ai-agents
Claude Code and agent skill by intersystems-community/fhir-ai-hackathon-kit
- community
Checking that the SKILL.md file is still in the repository.
Build LLM agents over InterSystems IRIS data - LangChain create_agent with Python function tools (SQL, FHIR REST, vector search), and exposing the same tools as MCP servers with FastMCP (streamable HTTP or stdio) for Claude Code or other MCP clients. Use when wiring IRIS / FHIR / vector data into an AI agent, chatbot, or MCP server.
Install
npx vskill@latest install intersystems-community/fhir-ai-hackathon-kit/iris-ai-agentsSKILL.md
AI agents and MCP over IRIS data
Source tutorials: Tutorials/5-ai/5.1-agents-and-tools.ipynb, 5.2-mcp-server.ipynb, examples in Tutorials/5-ai/mcp-examples/ (mcp-fhir-http.py, mcp-vector-stdio.py, .mcp.json).
Deps: langchain "langchain[openai]" "langchain[mcp]" fastmcp python-dotenv. OPENAI_API_KEY in repo-root .env. Tool bodies reuse patterns from the iris-sql-python, iris-fhir and iris-vector-search skills.
Tools are plain functions
The model sees the function name, type hints and docstring. Make docstrings say what the tool returns and when to use it. Tools make deterministic work (encoding, lookups, maths) reliable instead of "vibe" answers.
Let tool errors raise; the agent framework reports them to the model. Returning an error string hides failures.
LangChain agent
- Small models plus a generic
fhir_querycan be flaky on multi-hop questions (find patient, then Observation by LOINC code). Raise reasoning effort, add hints to the system prompt (e.g. "body height is Observation code 8302-2"), or add narrower tools. - Cap tool output size (TOP n,
_count,_elements) to protect the context window.
MCP server with FastMCP
- A prefix check is not real protection. For anything beyond a local demo, connect as an IRIS user with SELECT-only privileges.
- HTTP transport: start the server yourself before the client connects. Stdio: the client spawns it, so paths/env must resolve from the client's cwd (the kit's stdio example loads
.envviaPath(__file__)). - Inside Jupyter, run the HTTP server in a daemon
threading.Threadso the kernel stays usable (see 5.2).
Register with Claude Code / MCP clients (.mcp.json)
uv run reads the PEP 723 # /// script dependency block at the top of the stdio script. Without uv use "command": "python" pointing at the venv interpreter and an absolute script path.
Use MCP tools from a LangChain agent
In a notebook use top-level await ask(...); in a script asyncio.run(ask(...)).
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/iris-ai-agents/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/intersystems-community/fhir-ai-hackathon-kit/iris-ai-agents)