import os
import base64
from langgraph.prebuilt import create_react_agent
from langchain_mcp_adapters import MultiServerMCPClient
from langchain_openai import ChatOpenAI
# Configure StackOne account
STACKONE_ACCOUNT_ID = "<account_id>" # Your StackOne account ID
# Encode API key for Basic auth
auth_token = base64.b64encode(
f"{os.getenv('STACKONE_API_KEY')}:".encode()
).decode()
# Connect to StackOne MCP server
mcp_client = MultiServerMCPClient({
"stackone": {
"url": "https://api.stackone.com/mcp",
"transport": "streamable_http",
"headers": {
"Authorization": f"Basic {auth_token}",
"x-account-id": STACKONE_ACCOUNT_ID,
"MCP-Protocol-Version": "2025-06-18"
}
}
})
# Get StackOne tools
tools = mcp_client.list_tools()
# Create LangGraph agent with StackOne tools
agent = create_react_agent(
ChatOpenAI(model="gpt-5"),
tools=tools,
state_modifier="You are a helpful assistant with access to data from connected platforms."
)
# Run agent
for chunk in agent.stream({"messages": [("human", "Search recent calls in Gong")]}):
print(chunk)