examples/integrations/ms-agent-framework-python/README.md
This is a starter template for building CopilotKit experiences using the Microsoft Agent Framework. It ships with a Next.js UI and a FastAPI server that exposes a Microsoft Agent Framework agent over the AG-UI protocol, so you can study and customize both sides of the stack.
Install dependencies using your preferred package manager:
# Using npm (default)
npm install
# Using pnpm
pnpm install
# Using yarn
yarn install
# Using bun
bun install
Note: This automatically sets up the Python environment as well.
If you have manual issues, you can run:
shnpm run install:agent
Set up your agent credentials. The backend automatically uses Azure when the Azure env vars below are present; otherwise it falls back to OpenAI. Create a .env file inside the agent folder with one of the following configurations:
OpenAI
OPENAI_API_KEY=sk-...your-openai-key-here...
OPENAI_CHAT_MODEL_ID=gpt-4o-mini
Azure OpenAI
AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com/
AZURE_OPENAI_CHAT_DEPLOYMENT_NAME=gpt-4o-mini
# If you are not relying on az login:
# AZURE_OPENAI_API_KEY=...
Start the development server:
# Using npm (default)
npm run dev
# Using pnpm
pnpm dev
# Using yarn
yarn dev
# Using bun
bun run dev
This will start both the UI and the Microsoft Agent Framework server concurrently.
The following scripts can also be run using your preferred package manager:
dev β Starts both UI and agent servers in development modedev:debug β Starts development servers with debug logging enableddev:ui β Starts only the Next.js UI serverdev:agent β Starts only the Microsoft Agent Framework serverbuild β Builds the Next.js application for productionstart β Starts the production serverlint β Runs ESLint for code lintinginstall:agent β Installs Python dependencies for the agentThe main UI component is in src/app/page.tsx. You can:
Feel free to submit issues and enhancement requests! This starter is designed to be easily extensible.
This project is licensed under the MIT License β see the LICENSE file for details.
If you see "I'm having trouble connecting to my tools", make sure:
If you encounter Python import errors:
cd agent
uv sync
uv run src/main.py
CopilotKit Intelligence adds durable thread history and cross-session memory to
your agent. It requires a COPILOTKIT_LICENSE_TOKEN and a running local
Intelligence stack (Docker Desktop + a local Intelligence repo checkout).
COPILOTKIT_LICENSE_TOKEN (obtain from CopilotKit Cloud)docker-compose.intelligence.yml defaults to a sibling
directory at ../../../Intelligence relative to this starter; override with
the INTELLIGENCE_REPO env var if your checkout is elsewhere.# From inside this starter directory:
docker compose -f docker-compose.intelligence.yml up -d --wait
First run builds the intelligence image from source (may take several minutes).
docker compose -f docker-compose.intelligence.yml ps
All three services (postgres, redis, intelligence) should show healthy.
Add the following to your .env file:
COPILOTKIT_LICENSE_TOKEN=your-license-token-here
INTELLIGENCE_API_URL=http://localhost:4205
INTELLIGENCE_GATEWAY_WS_URL=ws://localhost:4405
Then start the dev server as usual (npm run dev). Thread history and memory
features are activated automatically when COPILOTKIT_LICENSE_TOKEN is set.
# Stop without removing data:
docker compose -f docker-compose.intelligence.yml down
# Full reset (removes postgres + redis volumes):
docker compose -f docker-compose.intelligence.yml down -v