Configuration guide for embedded AI agents used by AI-powered search tools in Sentry MCP.
Sentry MCP uses embedded AI agents for the following tools:
search_events- Natural language search across events, metrics, and session replayssearch_issues- Natural language search across issuessearch_issue_events- Search events within a specific issueuse_sentry- Unified natural language interface to all Sentry operations
These tools require an LLM provider (OpenAI, Azure OpenAI, or Anthropic) to be configured.
Always set EMBEDDED_AGENT_PROVIDER to explicitly specify your LLM provider:
export EMBEDDED_AGENT_PROVIDER=openai # or 'azure-openai' / 'anthropic'
export OPENAI_API_KEY=sk-... # corresponding API keyDeprecation Notice: Auto-detection based on API keys alone is deprecated and will be removed in a future release. Please update your configuration to explicitly set
EMBEDDED_AGENT_PROVIDER.
Sentry MCP resolves the LLM provider in this order:
-
Explicit configuration (highest priority)
EMBEDDED_AGENT_PROVIDERenvironment variable--agent-providerCLI flag
-
Conflict detection
- If both
ANTHROPIC_API_KEYandOPENAI_API_KEYare set without explicit provider selection, an error is thrown - This prevents silent bugs when external tools inject API keys
- If both
-
Auto-detection (lowest priority, deprecated)
- If only
ANTHROPIC_API_KEYis set → use Anthropic - If only
OPENAI_API_KEYis set → use OpenAI - A deprecation warning is logged when this fallback is used
- If only
Set EMBEDDED_AGENT_PROVIDER to explicitly choose a provider:
export EMBEDDED_AGENT_PROVIDER=openai
export OPENAI_API_KEY=sk-...Or:
export EMBEDDED_AGENT_PROVIDER=azure-openai
export OPENAI_API_KEY=sk-...
npx @sentry/mcp-server --openai-base-url=https://example.openai.azure.com/openai/v1/Or:
export EMBEDDED_AGENT_PROVIDER=anthropic
export ANTHROPIC_API_KEY=sk-ant-...npx @sentry/mcp-server --agent-provider=openai --access-token=...In your MCP settings (e.g., Claude Desktop config):
{
"mcpServers": {
"sentry": {
"command": "npx",
"args": ["@sentry/mcp-server"],
"env": {
"SENTRY_ACCESS_TOKEN": "your-token",
"EMBEDDED_AGENT_PROVIDER": "openai",
"OPENAI_API_KEY": "sk-..."
}
}
}
}When using Sentry MCP with tools like the Claude Agent SDK, the SDK may inject ANTHROPIC_API_KEY into the environment. This causes conflicts if you want to use OpenAI instead.
Before (incorrect auto-detection):
# Claude SDK injects ANTHROPIC_API_KEY
# Your MCP config only sets OPENAI_API_KEY
# Result: Sentry MCP incorrectly uses AnthropicAfter (explicit provider selection):
# Claude SDK injects ANTHROPIC_API_KEY
# Your MCP config sets OPENAI_API_KEY and EMBEDDED_AGENT_PROVIDER=openai
# Result: Sentry MCP correctly uses OpenAIAlways set EMBEDDED_AGENT_PROVIDER when multiple API keys might be present:
{
"mcpServers": {
"sentry": {
"command": "npx",
"args": ["@sentry/mcp-server"],
"env": {
"SENTRY_ACCESS_TOKEN": "your-token",
"EMBEDDED_AGENT_PROVIDER": "openai",
"OPENAI_API_KEY": "sk-..."
}
}
}
}Error: Both ANTHROPIC_API_KEY and OPENAI_API_KEY are set.
Please specify which provider to use by setting the EMBEDDED_AGENT_PROVIDER
environment variable to 'openai', 'azure-openai', or 'anthropic'.
Cause: Multiple API keys detected without explicit provider selection.
Solution: Set EMBEDDED_AGENT_PROVIDER to choose which provider to use.
Error: Provider "openai" is configured but OPENAI_API_KEY is not set.
Please set the API key environment variable.
Cause: Explicit provider selected but corresponding API key is missing.
Solution: Set the required API key environment variable.
Error: No embedded agent provider configured.
Set OPENAI_API_KEY or ANTHROPIC_API_KEY environment variable,
or use --agent-provider flag to specify a provider.
Cause: No API keys found and no provider specified.
Solution: Set at least one API key environment variable.
For custom OpenAI-compatible endpoints or Anthropic proxies:
export EMBEDDED_AGENT_PROVIDER=openai
export OPENAI_API_KEY=sk-...
npx @sentry/mcp-server --openai-base-url=https://custom.openai.example.comFor Azure OpenAI or Azure-compatible deployment proxies, use the dedicated
provider instead of the generic openai mode:
export EMBEDDED_AGENT_PROVIDER=azure-openai
export OPENAI_API_KEY=sk-...
export OPENAI_API_VERSION=2024-02-15-preview
# Azure v1 endpoint -> Responses API
npx @sentry/mcp-server --openai-base-url=https://example.openai.azure.com/openai/v1/
# Deployment endpoint -> chat completions
npx @sentry/mcp-server --openai-base-url=https://example.openai.azure.com/openai/deployments/my-assistantOverride the default model for each provider:
# OpenAI (default: gpt-5)
export OPENAI_MODEL=gpt-4
# Anthropic (default: claude-opus-4-5-20251101)
export ANTHROPIC_MODEL=claude-sonnet-4-5-20250929Check which provider is being used:
npx @sentry/mcp-server --access-token=... 2>&1 | grep "Using"Expected output:
Using openai responses API for AI-powered search tools (from EMBEDDED_AGENT_PROVIDER).
Or:
Using anthropic for AI-powered search tools (auto-detected).
Check environment variables:
echo $ANTHROPIC_API_KEY
echo $OPENAI_API_KEY
echo $EMBEDDED_AGENT_PROVIDERVerify API key format:
- OpenAI:
sk-...(starts withsk-) - Anthropic:
sk-ant-...(starts withsk-ant-)
If external tools (like Claude SDK, LangChain, etc.) inject API keys:
- Use
EMBEDDED_AGENT_PROVIDERto override auto-detection - Consider using a wrapper script to filter environment variables
- Report the issue to the external tool's maintainers
Test with both API keys present:
export ANTHROPIC_API_KEY=sk-ant-test
export OPENAI_API_KEY=sk-test
export EMBEDDED_AGENT_PROVIDER=openai
npx @sentry/mcp-server --access-token=...Should output:
Using openai responses API for AI-powered search tools (from EMBEDDED_AGENT_PROVIDER).
- Security - Authentication and token management
- Testing - Testing MCP server functionality
- Common Patterns - Error handling and response formatting