Skip to main content
Telara

MCP Clients / Codex

OpenAI Codex

Connect Telara to OpenAI Codex using a TOML config file. Codex uses a different format than other editors — bearer tokens are referenced by environment variable name rather than pasted inline.

SSE Transport
TOML Config
Env Var Auth
Prefer automatic setup?

The Telara CLI can configure Codex automatically with telara setup codex. It writes the TOML config and sets the environment variable for you. The guide below is for manual setup.

Before You Begin

Prerequisites

A configuration with at least one data source

Go to Capabilities > Configurations in Telara. Create one and add at least one integration as a data source if you haven't already.

An API key for that configuration

In Telara, open Capabilities → API Keys, click "Generate Key", and pick a scope (tenant, team, project, or user). Copy the key — it starts with telara_mcp_ and is only shown once.

Configuration Scope

Global vs. project-level

Codex reads config from two locations. The global config applies to all sessions; the project config activates when Codex is run inside that directory and overrides the global config.

Global
~/.codex/config.toml

Available in every Codex session across all projects. Best for your primary Telara configuration.

Project-level
.codex/config.toml

Only active when Codex runs in that project directory. Useful for project-specific Telara configurations with different data sources.

Step 1 — Environment Variable

Store your API key as an environment variable

Unlike other editors that accept an inline token, Codex references bearer tokens by environment variable name. This keeps credentials out of config files entirely.

macOS / Linux — add to your shell profile
# Add to ~/.zshrc, ~/.bashrc, or ~/.bash_profile
export TELARA_API_KEY="telara_mcp_your_key_here"
Windows — PowerShell profile
$env:TELARA_API_KEY = "telara_mcp_your_key_here"
Verify the variable is set
echo $TELARA_API_KEY
telara_mcp_...
Credentials never touch config files

Because Codex reads the token from the environment, your config.toml contains only the variable name — never the key itself. This means you can safely commit project-level configs to source control.

Step 2 — Config File

Add Telara to your config.toml

Open (or create) your Codex config file and add a [mcp_servers.telara] section. Note: Codex uses TOML format, not JSON.

~/.codex/config.toml — global config
# ~/.codex/config.toml
 
[mcp_servers.telara]
url = "https://api.telara.dev/v1/mcp/sse"
bearer_token_env_var = "TELARA_API_KEY"
startup_timeout_sec = 10
tool_timeout_sec = 60
enabled = true
.codex/config.toml — project-level config
# .codex/config.toml (at your project root)
 
[mcp_servers.telara-frontend]
url = "https://api.telara.dev/v1/mcp/sse"
bearer_token_env_var = "TELARA_FRONTEND_KEY"
startup_timeout_sec = 10
tool_timeout_sec = 60
enabled = true
 
# Optionally restrict which tools are available
enabled_tools = ["search", "github", "jira"]
Section names use underscores

The section header must be [mcp_servers.name] with an underscore — not [mcp-servers.name]. Using a hyphen will cause a parse error.

Verification

Confirming the connection

After saving your config and setting the environment variable, start Codex. Use the /mcp command in the TUI to verify Telara is connected.

1
Reload your shell (or open a new terminal)

The TELARA_API_KEY variable must be set in the shell where you run Codex. Open a new terminal or run source ~/.zshrc to reload your profile.

2
Start Codex

Run codex in your project directory. Codex loads MCP servers defined in config.toml during startup.

3
Run /mcp in the TUI

Type /mcp in the Codex interface. Telara should appear in the connected servers list with a green status indicator.

4
Try a search query

Ask Codex to search your knowledge base — for example: "find how we handle auth in this repo." It will call Telara's search tools automatically.

Expected output — codex /mcp
MCP Servers
telara .......................... connected
tools: search, github, jira, slack ...

Advanced

Filtering available tools

You can limit which Telara tools Codex can invoke using enabled_tools or exclude specific tools with disabled_tools. Use the names Telara actually serves — every one carries the telara_ prefix. Filtering out telara_tool_search also removes your ability to reach integration actions, since they are discovered rather than listed up front.

Allow only search and GitHub tools
[mcp_servers.telara]
url = "https://api.telara.dev/v1/mcp/sse"
bearer_token_env_var = "TELARA_API_KEY"
enabled_tools = ["telara_knowledge_search", "telara_tool_search", "telara_execute_action"]
Disable a specific tool
[mcp_servers.telara]
url = "https://api.telara.dev/v1/mcp/sse"
bearer_token_env_var = "TELARA_API_KEY"
disabled_tools = ["telara_browser_extract"]
Tool filtering is additive to permission policies

Filtering tools in config.toml restricts what Codex can even see — a tool filtered out here won't appear at all, regardless of the permission policy. This is a local preference, not a security control. Telara's permission policies are enforced server-side and apply regardless of what's in your local config.

Tips

Recommendations

Use different env vars per configuration

If you connect to multiple Telara configurations (e.g. eng-access and security-access), use a distinct env var name for each: TELARA_ENG_KEY, TELARA_SEC_KEY.

Project configs can be committed safely

Because no key is stored in config.toml — only the env var name — project-level .codex/config.toml files are safe to commit to source control.

Use enabled to toggle without deleting

Set enabled = false to temporarily disable a Telara connection without removing the config. Useful when switching between projects.

Multiple servers work simultaneously

Add multiple [mcp_servers.*] sections to connect to more than one Telara configuration at the same time. Each appears as a separate tool source.

Finding integration actions

Codex sees a fixed set of Telara tools when it connects — knowledge search, graph traversal, archive reads, task tracking, and two discovery tools. Your connected platforms are not all listed up front. GitLab alone contributes 107 actions and Jira 84; loading every schema into the model on each request would crowd out the context you actually want it thinking with.

telara_tool_search

Describe the task in plain language — "comment on a Jira issue", "open a merge request". Matching actions become callable by name straight away. Only actions your organization's policy permits are returned.

telara_tool_describe

Returns one action's full parameter schema. Worth calling before invoking an action whose arguments are not obvious.

If you already know the action you want, telara_execute_action runs any permitted action directly — pass integration, action and params, with no search step. You can also browse the telara://integrations/available resource. Policy is enforced server-side on every call, whichever route you take.