diff --git a/.agents/plugins/marketplace.json b/.agents/plugins/marketplace.json new file mode 100644 index 0000000..9e16d18 --- /dev/null +++ b/.agents/plugins/marketplace.json @@ -0,0 +1,20 @@ +{ + "name": "atlan", + "interface": { + "displayName": "Atlan" + }, + "plugins": [ + { + "name": "atlan", + "source": { + "source": "local", + "path": "./codex-plugin" + }, + "policy": { + "installation": "AVAILABLE", + "authentication": "ON_INSTALL" + }, + "category": "Data" + } + ] +} diff --git a/codex-plugin/.codex-plugin/plugin.json b/codex-plugin/.codex-plugin/plugin.json new file mode 100644 index 0000000..56102e5 --- /dev/null +++ b/codex-plugin/.codex-plugin/plugin.json @@ -0,0 +1,44 @@ +{ + "name": "atlan", + "version": "0.1.0", + "description": "Atlan is the context layer for enterprise AI. Connect Codex to your organization's context repos — the knowledge, data, and semantics your AI agents need to build effectively. Use Atlan's agent skills to search & discover enterprise context, traverse end-to-end lineage, access governed data definitions and glossaries, execute SQL, curate your metadata graph, and ensure data quality — so every coding task in Codex is grounded in trusted organizational context.", + "author": { + "name": "Atlan", + "email": "engineering@atlan.com", + "url": "https://atlan.com" + }, + "homepage": "https://atlan.com", + "repository": "https://github.com/atlanhq/agent-toolkit", + "license": "Apache-2.0", + "keywords": [ + "atlan", + "mcp", + "data-catalog", + "data-governance", + "metadata", + "lineage", + "data-quality", + "semantic-search", + "glossary" + ], + "mcpServers": ".mcp.json", + "interface": { + "displayName": "Atlan", + "shortDescription": "The context layer for enterprise AI — search, govern, and reason about your data assets from inside Codex.", + "longDescription": "Atlan is the context layer for enterprise AI. This plugin connects OpenAI Codex to your organization's Atlan tenant via Atlan's hosted MCP server, giving the agent access to your full metadata graph — tables, columns, dashboards, glossaries, domains, lineage, and data quality rules. Use it to ground coding tasks in trusted organizational context: semantic search across assets, end-to-end lineage traversal, governed data definitions, SQL execution on connected sources, and curated metadata writes. Authentication is OAuth-based against `mcp.atlan.com` — no API keys to manage.", + "developerName": "Atlan", + "category": "data-tools", + "capabilities": ["Interactive", "Read", "Write"], + "websiteURL": "https://atlan.com", + "privacyPolicyURL": "https://atlan.com/privacy", + "termsOfServiceURL": "https://atlan.com/terms", + "defaultPrompt": [ + "Find tables related to customer data in my Atlan catalog and summarize their lineage.", + "List glossary terms tagged as PII in my catalog.", + "Show upstream lineage for the orders fact table." + ], + "brandColor": "#0066FF", + "logo": "./assets/atlan-logo.png", + "composerIcon": "./assets/atlan-logo.png" + } +} diff --git a/codex-plugin/.mcp.json b/codex-plugin/.mcp.json new file mode 100644 index 0000000..c3ad019 --- /dev/null +++ b/codex-plugin/.mcp.json @@ -0,0 +1,8 @@ +{ + "mcpServers": { + "atlan": { + "type": "http", + "url": "https://mcp.atlan.com/mcp" + } + } +} diff --git a/codex-plugin/README.md b/codex-plugin/README.md new file mode 100644 index 0000000..5645b8a --- /dev/null +++ b/codex-plugin/README.md @@ -0,0 +1,75 @@ +# Atlan Codex Plugin + +Connects Atlan's hosted MCP server (`https://mcp.atlan.com/mcp`) to [OpenAI Codex](https://github.com/openai/codex) — both the desktop app and the CLI. OAuth is handled by Codex against the MCP server's discovery endpoint on first tool call — no API key or environment variable required. + +## Install + +> **Note:** OpenAI's official Codex Plugin Directory is not yet GA. The build docs state: *"Adding plugins to the official Plugin Directory is coming soon. Self-serve plugin publishing and management are coming soon."* — see [developers.openai.com/codex/plugins/build](https://developers.openai.com/codex/plugins/build). Until then, Atlan customers install this plugin by registering Atlan's own marketplace — the steps below. + +### Sideload from this repository + +The repository root ships a marketplace manifest at `.agents/plugins/marketplace.json` that exposes the plugin as `atlan@atlan`. + +```bash +# Register Atlan's marketplace (point at the GitHub repo, or a local clone's root) +codex plugin marketplace add https://github.com/atlanhq/agent-toolkit + +# Install the plugin from that marketplace +codex plugin add atlan@atlan +``` + +Quit and relaunch **Codex.app** — the Atlan plugin appears under **Plugins → Manage** (enabled, with the bundled MCP server registered). On first tool call, Codex runs OAuth against `mcp.atlan.com` to authenticate against your Atlan tenant. + +### From the official Codex Plugin Directory (once GA) + +When OpenAI opens self-serve publishing and Atlan is accepted into the curated Plugin Directory, install via **Codex.app → Plugins → search "Atlan" → Install**, or: + +```bash +codex plugin add atlan@openai-curated +``` + +### Direct MCP server install (CLI only, no plugin) + +If you only need the MCP server in the Codex CLI and don't care about the desktop-app plugin entry, run: + +```bash +codex mcp add atlan --url https://mcp.atlan.com/mcp +codex mcp login atlan +``` + +This appends `[mcp_servers.atlan]` to `~/.codex/config.toml` without going through the plugin system. + +## Verify + +```bash +codex plugin list | grep atlan # atlan@atlan installed, enabled +codex mcp list # atlan ✓ +``` + +Inside a Codex session, run `/mcp` to inspect connected servers, then ask anything Atlan-related — e.g. *"find all tables in the snowflake connection"*, *"trace lineage upstream from this asset"*. + +## Available tools + +The Atlan MCP server exposes search, discovery, lineage, glossary, data domain, data quality, and asset lifecycle tools. See the [main MCP server README](../modelcontextprotocol/README.md) for the full tool catalog and capability annotations. + +## Layout + +``` +agent-toolkit/ +├── .agents/ +│ └── plugins/ +│ └── marketplace.json # marketplace that exposes this plugin +└── codex-plugin/ + ├── .codex-plugin/ + │ └── plugin.json # plugin manifest (desktop-app metadata) + ├── .mcp.json # bundled MCP server registration + ├── assets/ + │ └── atlan-logo.png + └── README.md +``` + +## Related + +- [`cursor-plugin/`](../cursor-plugin/) — equivalent plugin for Cursor +- [`.claude-plugin/`](../.claude-plugin/) — equivalent plugin for Claude Code +- [`modelcontextprotocol/`](../modelcontextprotocol/) — the Atlan MCP server itself diff --git a/codex-plugin/assets/atlan-logo.png b/codex-plugin/assets/atlan-logo.png new file mode 100644 index 0000000..8086a46 Binary files /dev/null and b/codex-plugin/assets/atlan-logo.png differ