Skip to content

Framework Integrations

TapPass works with any framework that uses the OpenAI or Anthropic SDK. Set the base URL and every call routes through governance.

Terminal window
# OpenAI-compatible tools (Copilot, Cursor, CrewAI, LangChain, LlamaIndex)
export OPENAI_BASE_URL=https://tappass.example.com/v1
export OPENAI_API_KEY=tp_...
# Anthropic tools (Claude Code, Cline)
export ANTHROPIC_BASE_URL=https://tappass.example.com
export ANTHROPIC_API_KEY=tp_...

Your existing tools work unchanged. Every call routes through governance.

FrameworkIntegration
OpenAI SDKOpenAI(base_url="https://tappass.example.com/v1", api_key="tp_...")
LangChainChatOpenAI(base_url=agent.gateway_url, api_key=agent.api_key)
CrewAIagent.configure_environment() sets env vars for CrewAI
LlamaIndexOpenAI(api_base=agent.gateway_url, api_key=agent.api_key)
Pydantic AIOpenAIModel(base_url=agent.gateway_url, api_key=agent.api_key)
Anthropic / ClaudeANTHROPIC_BASE_URL=https://tappass.example.com
FastAPIInject Agent as a dependency
Any HTTP clientPOST /v1/chat/completions with Bearer token
VS Code / CursorSet base URL in extension settings

See the tappass-examples repo for working code for each framework.

from tappass import Agent
agent = Agent("https://tappass.example.com", "tp_...")
# Governed chat
response = agent.chat("What are the GDPR requirements?")
print(response.content)
# Streaming
for chunk in agent.stream("Write a compliance report"):
print(chunk, end="", flush=True)
# Govern existing tools (CrewAI, LangChain, LlamaIndex)
tools = agent.govern([search, send_email])