Open Context Protocol is live! 🚀 Read the launch post
Agent Context

Agent Context

HTTP headers that carry agent context across API calls, enabling persistent conversations.

Context Injection

OCP agents automatically inject context headers into all API calls:

from ocp_agent import OCPAgent

agent = OCPAgent(
    agent_type="coding_assistant",
    user="alice", 
    workspace="payment-service"
)

# Context headers added automatically to every API call
github_api = agent.register_api("github")
issues = agent.call_tool("search_issues", {"q": "payment bug"})

Generated Headers:

GET /search/issues?q=payment+bug HTTP/1.1
Host: api.github.com
Authorization: Bearer ghp_xxxxxxxxxxxx
OCP-Context-ID: ocp-abc123
OCP-Agent-Type: coding_assistant
OCP-User: alice
OCP-Workspace: payment-service

Core Headers:

  • OCP-Context-ID: Unique conversation identifier
  • OCP-Session: Compressed conversation state
  • OCP-Agent-Type: Type of AI agent

Contextual Headers:

  • OCP-User: Current user
  • OCP-Workspace: Current project
  • OCP-Current-Goal: Agent’s objective

Context Flow Across APIs

Context persists across different APIs and builds conversation memory:

agent = OCPAgent(workspace="payment-service", current_goal="debug_payment_issue")

# Each call updates the conversation history
issues = agent.call_tool("search_issues", {"q": "payment timeout"})
# -> Sets current context: recent search, found issues

logs = agent.call_tool("get_application_logs", {"service": "payments"}) 
# -> Carries forward: workspace, goal, previous search results

metrics = agent.call_tool("query_metrics", {"metric": "payment_latency"})
# -> Full context: workspace + goal + search + logs + metrics

Context Updates Automatically:

  • Interaction History: Each API call recorded with timestamp and results
  • Current Goal: Agent objective persists across different APIs
  • Recent Changes: Track modifications for debugging context
  • Error Context: Automatic error state capture

Session Persistence

Conversations persist across agent sessions with automatic save/restore:

# Save conversation state
agent.storage.save_session("debug-session-123", agent.context)

# Later: restore full conversation context
agent = OCPAgent()
restored_context = agent.storage.load_session("debug-session-123") 
agent.context = restored_context

# Continue where you left off with full history
agent.call_tool("create_issue", {
    "title": "Payment timeout issue",
    "body": "Based on previous investigation..."  # AI has full context
})

Session Management:

# List all saved conversations
sessions = agent.storage.list_sessions(limit=10)
# [{"id": "debug-session-123", "last_updated": "2025-11-22T10:30:00Z", ...}]

# Clean up old sessions
agent.storage.cleanup_sessions(keep_recent=25)

Context Debugging

View context headers to troubleshoot conversation state:

from ocp_agent.headers import OCPHeaders

# Get readable context summary
headers = agent.context.to_headers()
summary = OCPHeaders.get_context_summary(headers)
print(summary)
# Output: "OCP Context: ocp-abc123 | Agent: coding_assistant | Goal: debug_payment | Workspace: payment-service"

# Inspect full context
print(f"Context ID: {agent.context.context_id}")
print(f"Conversation: {len(agent.context.history)} interactions")
print(f"Goal: {agent.context.current_goal}")
print(f"Recent: {agent.context.recent_changes}")

Header Compression:

  • Sessions >1KB automatically compressed with gzip
  • Base64 encoded for HTTP header compatibility
  • Decompressed transparently by receiving clients

Working with Any API

Context headers work immediately with any HTTP API (Level 1 compatibility):

# Works with any API - no server changes required
import requests
from ocp_agent import AgentContext

context = AgentContext(workspace="ecommerce", current_goal="process_order")
headers = context.to_headers()

# Add to any HTTP request
response = requests.get(
    "https://api.stripe.com/v1/payment_intents",
    headers={**headers, "Authorization": "Bearer sk_test_..."}
)

# Context flows through, even if API doesn't use it
# Future: Level 2 APIs will provide enhanced responses

Benefits:

  • Zero Infrastructure: Works with existing APIs immediately
  • Persistent Memory: Full conversation history across API calls
  • Cross-API Workflows: Context bridges different services
  • Session Recovery: Resume conversations after restarts
  • Automatic State: No manual context management required