teams-anthropic-integration
Use @youdotcom-oss/teams-anthropic to add Anthropic Claude models (Opus, Sonnet, Haiku) to Microsoft Teams.ai applications. Optionally integrate You.com MCP server for web search and content extraction.
Install
mkdir -p .claude/skills/teams-anthropic-integration && curl -L -o skill.zip "https://mcp.directory/api/skills/download/2830" && unzip -o skill.zip -d .claude/skills/teams-anthropic-integration && rm skill.zipInstalls to .claude/skills/teams-anthropic-integration
About this skill
Build Teams.ai Apps with Anthropic Claude
Use @youdotcom-oss/teams-anthropic to add Claude models (Opus, Sonnet, Haiku) to Microsoft Teams.ai applications. Optionally integrate You.com MCP server for web search and content extraction.
Choose Your Path
Path A: Basic Setup (Recommended for getting started)
- Use Anthropic Claude models in Teams.ai
- Chat, streaming, function calling
- No additional dependencies
Path B: With You.com MCP (For web search capabilities)
- Everything in Path A
- Web search and content extraction via You.com
- Real-time information access
Decision Point
Ask: Do you need web search and content extraction in your Teams app?
- NO → Use Path A: Basic Setup (simpler, faster)
- YES → Use Path B: With You.com MCP
Path A: Basic Setup
Use Anthropic Claude models in your Teams.ai app without additional dependencies.
A1. Install Package
npm install @youdotcom-oss/teams-anthropic @anthropic-ai/sdk @microsoft/teams.ai
A2. Get Anthropic API Key
Get your API key from console.anthropic.com
# Add to .env
ANTHROPIC_API_KEY=your-anthropic-api-key
A3. Ask: New or Existing App?
- New Teams app: Use entire template below
- Existing app: Add Claude model to existing setup
A4. Basic Template
For NEW Apps:
import { App } from '@microsoft/teams.apps';
import { AnthropicChatModel, AnthropicModel } from '@youdotcom-oss/teams-anthropic';
if (!process.env.ANTHROPIC_API_KEY) {
throw new Error('ANTHROPIC_API_KEY environment variable is required');
}
const model = new AnthropicChatModel({
model: AnthropicModel.CLAUDE_SONNET_4_5,
apiKey: process.env.ANTHROPIC_API_KEY,
requestOptions: {
max_tokens: 2048,
temperature: 0.7,
},
});
const app = new App();
app.on('message', async ({ send, activity }) => {
await send({ type: 'typing' });
const response = await model.send(
{ role: 'user', content: activity.text }
);
if (response.content) {
await send(response.content);
}
});
app.start().catch(console.error);
For EXISTING Apps:
Add to your existing imports:
import { AnthropicChatModel, AnthropicModel } from '@youdotcom-oss/teams-anthropic';
Replace your existing model:
const model = new AnthropicChatModel({
model: AnthropicModel.CLAUDE_SONNET_4_5,
apiKey: process.env.ANTHROPIC_API_KEY,
});
A5. Choose Your Model
// Most capable - best for complex tasks
AnthropicModel.CLAUDE_OPUS_4_5
// Balanced intelligence and speed (recommended)
AnthropicModel.CLAUDE_SONNET_4_5
// Fast and efficient
AnthropicModel.CLAUDE_HAIKU_3_5
A6. Test Basic Setup
npm start
Send a message in Teams to verify Claude responds.
Path B: With You.com MCP
Add web search and content extraction to your Claude-powered Teams app.
B1. Install Packages
npm install @youdotcom-oss/teams-anthropic @anthropic-ai/sdk @microsoft/teams.ai @microsoft/teams.mcpclient
B2. Get API Keys
- Anthropic API key: console.anthropic.com
- You.com API key: you.com/platform/api-keys
# Add to .env
ANTHROPIC_API_KEY=your-anthropic-api-key
YDC_API_KEY=your-you-com-api-key
B3. Ask: New or Existing App?
- New Teams app: Use entire template below
- Existing app: Add MCP to existing Claude setup
B4. MCP Template
For NEW Apps:
import { App } from '@microsoft/teams.apps';
import { ChatPrompt } from '@microsoft/teams.ai';
import { ConsoleLogger } from '@microsoft/teams.common';
import { McpClientPlugin } from '@microsoft/teams.mcpclient';
import {
AnthropicChatModel,
AnthropicModel,
getYouMcpConfig,
} from '@youdotcom-oss/teams-anthropic';
// Validate environment
if (!process.env.ANTHROPIC_API_KEY) {
throw new Error('ANTHROPIC_API_KEY environment variable is required');
}
if (!process.env.YDC_API_KEY) {
throw new Error('YDC_API_KEY environment variable is required');
}
// Configure logger
const logger = new ConsoleLogger('mcp-client', { level: 'info' });
// Create prompt with MCP integration
const prompt = new ChatPrompt(
{
instructions: 'You are a helpful assistant with access to web search and content extraction. Use these tools to provide accurate, up-to-date information.',
model: new AnthropicChatModel({
model: AnthropicModel.CLAUDE_SONNET_4_5,
apiKey: process.env.ANTHROPIC_API_KEY,
requestOptions: {
max_tokens: 2048,
},
}),
},
[new McpClientPlugin({ logger })],
).usePlugin('mcpClient', getYouMcpConfig());
const app = new App();
app.on('message', async ({ send, activity }) => {
await send({ type: 'typing' });
const result = await prompt.send(activity.text);
if (result.content) {
await send(result.content);
}
});
app.start().catch(console.error);
For EXISTING Apps with Claude:
If you already have Path A setup, add MCP integration:
-
Install MCP dependencies:
npm install @microsoft/teams.mcpclient -
Add imports:
import { ChatPrompt } from '@microsoft/teams.ai'; import { ConsoleLogger } from '@microsoft/teams.common'; import { McpClientPlugin } from '@microsoft/teams.mcpclient'; import { getYouMcpConfig } from '@youdotcom-oss/teams-anthropic'; -
Validate You.com API key:
if (!process.env.YDC_API_KEY) { throw new Error('YDC_API_KEY environment variable is required'); } -
Replace model with ChatPrompt:
const logger = new ConsoleLogger('mcp-client', { level: 'info' }); const prompt = new ChatPrompt( { instructions: 'Your instructions here', model: new AnthropicChatModel({ model: AnthropicModel.CLAUDE_SONNET_4_5, apiKey: process.env.ANTHROPIC_API_KEY, }), }, [new McpClientPlugin({ logger })], ).usePlugin('mcpClient', getYouMcpConfig()); -
Use prompt.send() instead of model.send():
const result = await prompt.send(activity.text);
B5. Test MCP Integration
npm start
Ask Claude a question that requires web search:
- "What are the latest developments in AI?"
- "Search for React documentation"
- "Extract content from https://example.com"
Available Claude Models
| Model | Enum | Best For |
|---|---|---|
| Claude Opus 4.5 | AnthropicModel.CLAUDE_OPUS_4_5 | Complex tasks, highest capability |
| Claude Sonnet 4.5 | AnthropicModel.CLAUDE_SONNET_4_5 | Balanced intelligence and speed (recommended) |
| Claude Haiku 3.5 | AnthropicModel.CLAUDE_HAIKU_3_5 | Fast responses, efficiency |
| Claude Sonnet 3.5 | AnthropicModel.CLAUDE_SONNET_3_5 | Previous generation, stable |
Advanced Features
Streaming Responses
const response = await model.send(
{ role: 'user', content: 'Write a short story' },
{
onChunk: async (delta) => {
// Stream each token as it arrives
process.stdout.write(delta);
},
}
);
Function Calling
const response = await model.send(
{ role: 'user', content: 'What is the weather in San Francisco?' },
{
functions: {
get_weather: {
description: 'Get the current weather for a location',
parameters: {
location: { type: 'string', description: 'City name' },
},
handler: async (args: { location: string }) => {
// Your API call here
return { temperature: 72, conditions: 'Sunny' };
},
},
},
}
);
Conversation Memory
import { LocalMemory } from '@microsoft/teams.ai';
const memory = new LocalMemory();
// First message
await model.send(
{ role: 'user', content: 'My name is Alice' },
{ messages: memory }
);
// Second message - Claude remembers
const response = await model.send(
{ role: 'user', content: 'What is my name?' },
{ messages: memory }
);
// Response: "Your name is Alice."
Validation Checklist
Path A Checklist
- Package installed:
@youdotcom-oss/teams-anthropic - Environment variable set:
ANTHROPIC_API_KEY - Model configured with
AnthropicChatModel - Model selection chosen (Opus/Sonnet/Haiku)
- App tested with basic messages
Path B Checklist
- All Path A items completed
- Additional package installed:
@microsoft/teams.mcpclient - Environment variable set:
YDC_API_KEY - Logger configured
- ChatPrompt configured with
getYouMcpConfig() - App tested with web search queries
Common Issues
Path A Issues
"Cannot find module @youdotcom-oss/teams-anthropic"
npm install @youdotcom-oss/teams-anthropic @anthropic-ai/sdk
"ANTHROPIC_API_KEY environment variable is required"
- Get key from: https://console.anthropic.com/
- Add to .env:
ANTHROPIC_API_KEY=your-key-here
"Invalid model identifier"
- Use enum:
AnthropicModel.CLAUDE_SONNET_4_5 - Don't use string:
'claude-sonnet-4-5-20250929'
Path B Issues
"YDC_API_KEY environment variable is required"
- Get key from: https://you.com/platform/api-keys
- Add to .env:
YDC_API_KEY=your-key-here
"MCP connection fails"
- Verify API key is valid at https://you.com/platform/api-keys
- Check network connectivity
- Review logger output for details
"Cannot find module @microsoft/teams.mcpclient"
npm install @microsoft/teams.mcpclient
getYouMcpConfig() Utility
Automatically configures You.com MCP connection:
- URL:
https://api.you.com/mcp - Authentication: Bearer token from
YDC_API_KEY - User-Agent: Includes package version for telemetry
// Option 1: Use environment variable (recommended)
getYouMcpConfig()
// Option 2: Custom API key
getYouMcpConfig({ apiKey: 'your-custom-key' })
`
---
*Content truncated.*
More by openclaw
View all skills by openclaw →You might also like
flutter-development
aj-geddes
Build beautiful cross-platform mobile apps with Flutter and Dart. Covers widgets, state management with Provider/BLoC, navigation, API integration, and material design.
drawio-diagrams-enhanced
jgtolentino
Create professional draw.io (diagrams.net) diagrams in XML format (.drawio files) with integrated PMP/PMBOK methodologies, extensive visual asset libraries, and industry-standard professional templates. Use this skill when users ask to create flowcharts, swimlane diagrams, cross-functional flowcharts, org charts, network diagrams, UML diagrams, BPMN, project management diagrams (WBS, Gantt, PERT, RACI), risk matrices, stakeholder maps, or any other visual diagram in draw.io format. This skill includes access to custom shape libraries for icons, clipart, and professional symbols.
ui-ux-pro-max
nextlevelbuilder
"UI/UX design intelligence. 50 styles, 21 palettes, 50 font pairings, 20 charts, 8 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient."
godot
bfollington
This skill should be used when working on Godot Engine projects. It provides specialized knowledge of Godot's file formats (.gd, .tscn, .tres), architecture patterns (component-based, signal-driven, resource-based), common pitfalls, validation tools, code templates, and CLI workflows. The `godot` command is available for running the game, validating scripts, importing resources, and exporting builds. Use this skill for tasks involving Godot game development, debugging scene/resource files, implementing game systems, or creating new Godot components.
nano-banana-pro
garg-aayush
Generate and edit images using Google's Nano Banana Pro (Gemini 3 Pro Image) API. Use when the user asks to generate, create, edit, modify, change, alter, or update images. Also use when user references an existing image file and asks to modify it in any way (e.g., "modify this image", "change the background", "replace X with Y"). Supports both text-to-image generation and image-to-image editing with configurable resolution (1K default, 2K, or 4K for high resolution). DO NOT read the image file first - use this skill directly with the --input-image parameter.
fastapi-templates
wshobson
Create production-ready FastAPI projects with async patterns, dependency injection, and comprehensive error handling. Use when building new FastAPI applications or setting up backend API projects.
Related MCP Servers
Browse all serversGet structured & freeform code reviews with code quality analysis tools powered by OpenAI, Google & Anthropic. Supports
Boost productivity with Task Master: an AI-powered tool for project management and agile development workflows, integrat
Optimize your codebase for AI with Repomix—transform, compress, and secure repos for easier analysis with modern AI tool
Connect Blender to Claude AI for seamless 3D modeling. Use AI 3D model generator tools for faster, intuitive, interactiv
Empower AI with the Exa MCP Server—an AI research tool for real-time web search, academic data, and smarter, up-to-date
Control any ROS1 or ROS2 robot with natural language using ROS MCP Server—AI-powered, code-free, real-time monitoring an
Stay ahead of the MCP ecosystem
Get weekly updates on new skills and servers.