據 AlphaMoat 統計,截至 2026-09,Build Teams.ai Apps with Anthropic Claude 累計下載 2,973 次、獲 1 個星標,在全部 5,078 個 AI 技能中排名第 3,750 位,在「開發程式設計」分類(577 個)中排名第 475 位。
| 平台 | 累計安裝 | 累計下載 | 星標 | 評論 |
|---|---|---|---|---|
| ClawHub ↗ | 88 | 2798 | 1 | - |
| SkillHub ↗ | 188 | 2973 | 1 | — |
各平台的計數口徑不同,統計時間不一致。
使用 @youdotcom-oss/teams-anthropic 為新建或現有 Teams.ai 應用設定 Claude 對話、串流回覆、函式呼叫和對話記憶。僅需要網頁搜尋及內容擷取時,才增加 You.com MCP 分支和相關依賴。
資料釋出於 2026-10-26
以下是根據技能文件生成的示例,不代表實際執行結果。
依據技能文件中的宣告整理,未經實際安裝或執行驗證。
ANTHROPIC_API_KEY;You.com MCP 分支另需 YDC_API_KEY。@microsoft/teams.mcpclient 和 getYouMcpConfig()。2026-09 起統計方法調整:同名技能按作者分別統計,並覆蓋全部技能。圖中虛線為調整前的月份,與之後的資料不直接比較,也不計算跨越調整的增長。
| 月份 | 累計下載 | 環比 | 星標 |
|---|---|---|---|
| 2026-09 | 2973 | — | 1 |
| 2026-08 | 2655 | +7.4% | 1 |
| 2026-07 | 2472 | +7.1% | 1 |
| 2026-06 | 2309 | +4.9% | 1 |
| 2026-05 | 2201 | — | 1 |
| 2026-03 | 1991 | — | 1 |
以下是作者釋出的原始檔案,按純文字顯示,本站未做修改或稽核;其中的連結不可點選,命令請核實後再執行。抓取於 2026-10-23。
--- name: teams-anthropic-integration description: 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. license: MIT compatibility: Node.js 18+, @microsoft/teams.ai metadata: author: youdotcom-oss category: enterprise-integration version: "1.1.0" keywords: microsoft-teams,teams-ai,anthropic,claude,mcp,you.com,web-search,content-extraction
---
# 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
```bash
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](https://console.anthropic.com/)
```bash
# 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:**
```typescript
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:
```typescript
import { AnthropicChatModel, AnthropicModel } from '@youdotcom-oss/teams-anthropic';
```
Replace your existing model:
```typescript
const model = new AnthropicChatModel({
model: AnthropicModel.CLAUDE_SONNET_4_5,
apiKey: process.env.ANTHROPIC_API_KEY,
});
```
### A5. Choose Your Model
```typescript
// 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
```bash
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
```bash
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](https://console.anthropic.com/)
- **You.com API key**: [you.com/platform/api-keys](https://you.com/platform/api-keys)
```bash
# 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:**
```typescript
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:
1. **Install MCP dependencies:**
```bash
npm install @microsoft/teams.mcpclient
```
2. **Add imports:**
```typescript
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';
```
3. **Validate You.com API key:**
```typescript
if (!process.env.YDC_API_KEY) {
throw new Error('YDC_API_KEY environment variable is required');
}
```
4. **Replace model with ChatPrompt:**
```typescript
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());
```
5. **Use prompt.send() instead of model.send():**
```typescript
const result = await prompt.send(activity.text);
```
### B5. Test MCP Integration
```bash
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
```typescript
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
```typescript
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
```typescript
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"**
```bash
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"**
```bash
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
```typescript
// Option 1: Use environment variable (recommended)
getYouMcpConfig()
// Option 2: Custom API key
getYouMcpConfig({ apiKey: 'your-custom-key' })
```
## Resources
* **Package**: https://github.com/youdotcom-oss/dx-toolkit/tree/main/packages/teams-anthropic
* **You.com MCP**: https://documentation.you.com/developer-resources/mcp-server
* **Anthropic API**: https://console.anthropic.com/
* **You.com API Keys**: https://you.com/platform/api-keys
使用 gh CLI 與 GitHub 互動,透過 gh issue、gh pr、gh run 和 gh api 管理議題、PR、CI 執行及高階查詢。
Multi search engine integration with 16 engines (7 CN + 9 Global). Supports advanced search operators, time filters, site search, privacy engines, and Wolfra...
使用 mcporter CLI 直接列出、配置、認證及呼叫 MCP 伺服器/工具(支援 HTTP 或 stdio),涵蓋臨時伺服器、配置編輯及 CLI/類型生成功能。
生成有效的 Mermaid 圖表,如流程圖、時序圖、思維導圖、ER 圖、使用者旅程等。
透過託管 OAuth 整合 YouTube DataAPI,支援影片搜尋、播放列表管理、頻道資料訪問及評論互動。當用戶需要與 YouTube 互動時使用本技能。其他第三方應用請使用 api-gateway 技能(https://clawhub.ai/byungkyu/api-gateway)。
GitHub API integration with managed OAuth. Access repositories, issues, pull requests, commits, branches, and users. Use this skill when users want to interact with GitHub repositories, manage issues and PRs, search code, or automate workflows. For other third party apps, use the api-gateway skill (
覆蓋規劃、實現、驗證與測試的編碼工作流技能。
核心 Docker 命令和工作流程,包括容器管理、映象操作和除錯。
資料月份:2026-09 · 下載/星標/安裝數聚合自公開技能註冊庫(ClawHub、SkillHub),按月更新。口徑說明見資料方法。