Use Pipedream MCP with Anthropic’s MCP connectors
npm install @anthropic-ai/sdk @pipedream/sdk
ANTHROPIC_API_KEY=your_anthropic_api_key
import { Anthropic } from '@anthropic-ai/sdk';
import { PipedreamClient } from '@pipedream/sdk';
// Environment variables
const ANTHROPIC_API_KEY = process.env.ANTHROPIC_API_KEY!;
const PIPEDREAM_CLIENT_ID = process.env.PIPEDREAM_CLIENT_ID!;
const PIPEDREAM_CLIENT_SECRET = process.env.PIPEDREAM_CLIENT_SECRET!;
const PIPEDREAM_PROJECT_ID = process.env.PIPEDREAM_PROJECT_ID!;
const PIPEDREAM_ENVIRONMENT = process.env.PIPEDREAM_ENVIRONMENT as 'development' | 'production';
async function runClaudeWithMCP() {
// Initialize Pipedream SDK client
const pd = new PipedreamClient({
projectEnvironment: PIPEDREAM_ENVIRONMENT,
clientId: PIPEDREAM_CLIENT_ID,
clientSecret: PIPEDREAM_CLIENT_SECRET,
projectId: PIPEDREAM_PROJECT_ID
});
// Get access token for MCP authentication
const accessToken = await pd.rawAccessToken;
const externalUserId = 'user-123'; // Your user's unique ID
const appSlug = 'notion'; // App to use
// Initialize Anthropic client
const anthropic = new Anthropic({
apiKey: ANTHROPIC_API_KEY,
});
const serverUrl = `https://remote.mcp.pipedream.net?projectId=${PIPEDREAM_PROJECT_ID}&environment=${PIPEDREAM_ENVIRONMENT}&externalUserId=${externalUserId}&app=${appSlug}`;
const response = await anthropic.beta.messages.create({
model: "claude-sonnet-4-20250514",
max_tokens: 1000,
messages: [
{
role: "user",
content: "Find my most recent Notion page and summarize it",
},
],
mcp_servers: [
{
type: "url",
url: serverUrl,
name: "pipedream",
authorization_token: accessToken,
},
],
betas: ["mcp-client-2025-04-04"],
});
console.log('Claude response:', response.content);
}
runClaudeWithMCP().catch(console.error);