← 返回
内容创作 Key 中文

Build Teams.ai Apps with Anthropic Claude

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.
使用 @youdotcom-oss/teams-anthropic 将 Anthropic Claude 模型(Opus、Sonnet、Haiku)添加到 Microsoft Teams.ai 应用程序中。可选集成 You.com MCP 服务器以进行网页搜索和内容提取。
edwardirby
内容创作 clawhub v1.1.0 1 版本 99911 Key: 需要
★ 1
Stars
📥 2,225
下载
💾 188
安装
1
版本
#anthropic#claude#content-extraction#integration#latest#mcp#microsoft-teams#teams-ai#web-search#you.com

概述

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

# 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:

  1. Install MCP dependencies:

```bash

npm install @microsoft/teams.mcpclient

```

  1. 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';

```

  1. Validate You.com API key:

```typescript

if (!process.env.YDC_API_KEY) {

throw new Error('YDC_API_KEY environment variable is required');

}

```

  1. 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());

```

  1. Use prompt.send() instead of model.send():

```typescript

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

ModelEnumBest For
-----------------------
Claude Opus 4.5AnthropicModel.CLAUDE_OPUS_4_5Complex tasks, highest capability
Claude Sonnet 4.5AnthropicModel.CLAUDE_SONNET_4_5Balanced intelligence and speed (recommended)
Claude Haiku 3.5AnthropicModel.CLAUDE_HAIKU_3_5Fast responses, efficiency
Claude Sonnet 3.5AnthropicModel.CLAUDE_SONNET_3_5Previous 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' })

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

版本历史

共 1 个版本

  • v1.1.0 当前
    2026-03-28 15:00 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

developer-tools

Integrate Claude Agent SDK with You.com MCP server

edwardirby
将 Claude Agent SDK 与 You.com HTTP MCP 服务器集成,支持 Python 和 TypeScript。当开发者提及 Claude Agent SDK、Anthropic Agent SDK 或将 Claude
★ 1 📥 2,141
content-creation

AdMapix

fly0pants
广告情报与应用数据分析助手,支持搜索广告素材、分析应用排名、下载量、收入及市场洞察,用于广告素材和竞品分析。
★ 295 📥 136,553
content-creation

Baidu Wenku AIPPT

ide-rea
使用百度文库 AI 智能生成 PPT,自动根据内容选择模板。
★ 66 📥 46,247