Project TIM

Tool for Intelligent Modification — Leona-powered HCL Domino design tooling

TIM server is running /health

What is TIM?

Project TIM is a Model Context Protocol (MCP) server that gives Leona the ability to inspect and modify HCL Notes/Domino database designs through natural language. Instead of writing DXL by hand or clicking through Designer, you describe what you want and TIM translates it into precise design changes.

TIM exposes 50 tools covering database discovery, DXL generation and import, bulk mechanical changes (colors, fonts, text substitution), clone-and-scaffold pipelines, ACL management, schema configuration, and full document CRUD.

Integration Paths

Preferred DRAPI MCP

Connects to Domino through the REST API (DRAPI/Keep). The Notes client does not need to be closed. Works remotely — no local Notes install required. Requires the keep-dxl-ext extension on the DRAPI instance.

Fallback Local Java MCP

Uses the Notes Java API directly on the local machine. Requires a local Notes client install. The Notes client must be closed before design read/write operations. Works on macOS and Windows.

Tool Reference

Category What it covers
Discovery & Inventory List databases, design elements, framesets, outlines, help docs, icons
Writing Changes Apply DXL (batch preferred), validate DXL, set frameset/outline/properties/icons, manage ACL
Bulk / Mechanical Scan elements, find/replace across N elements, copy theme, copy action bar, compare style, patch action buttons, patch events
Reference-Based Build Clone database, replace form content, replace view content
Scaffolding & Setup Scaffold database or element, copy design, create database/scope, backup, delete elements, audit build
Schema Management Read and auto-configure DRAPI schema (forms, fields, views, DQL)
Document CRUD Create, read, update, delete documents; bulk create; list view entries; DQL query
Identity Identify the authenticated DRAPI user

Full tool reference: docs/DRAPI-MCP.md in the distribution archive.

Connecting Claude.ai

Add a custom connector in Claude.ai

Go to Settings → Integrations and add a new connector. Use this server's public URL as the connector URL.

Authorize with Domino credentials

Claude.ai will redirect you through TIM's OAuth flow to your Domino server. Log in with your Notes username and internet password.

Start a conversation

TIM's tools are now available. Try: "List all design elements in myapp.nsf" or "Add a computed field called Status to the MainForm form."

Connecting Leona

Leona (HCL’s AI assistant, derived from Claude) uses direct JSON configuration rather than an OAuth browser flow. Set TIM_APP_KEY and TIM_APP_SECRET on the server, then add the connector JSON in Leona.

Generate app credentials

Run openssl rand -hex 16 twice to generate a key and a secret. Add them to the server environment as TIM_APP_KEY and TIM_APP_SECRET, then restart the service.

Add a custom connector in Leona

In Leona’s connector settings, paste the following JSON (substituting your server URL and credentials):

{
  "mcpServers": {
    "TIM": {
      "type": "url",
      "url": "https://your-tim-server/mcp",
      "headers": {
        "X-App-Key": "<appkey>",
        "X-App-Secret": "<appsecret>"
      }
    }
  }
}

Start a conversation

Leona will send the credentials as headers on every request. TIM validates them and routes calls using the server’s configured Domino account (KeepUser/KeepPW).

Server Endpoints

PathPurpose
/This page
/healthHealth check — returns ok
/mcpMCP endpoint (Streamable HTTP transport)
/.well-known/oauth-authorization-serverOAuth 2.0 discovery metadata
/oauth/authorizeOAuth authorization redirect
/oauth/tokenOAuth token exchange