跳转到主要内容

概述

本指南演示了在 Cursor IDE 中使用 Anysite MCP 工具的实际工作流程和示例。这些示例展示了如何利用 AI 驱动的 IDE 集成进行开发、研究和数据驱动编码。

基本使用

在 Cursor 中开始使用 MCP

配置完成后,只需打开 Cursor 并开始与 AI 助手聊天:
我可以使用哪些 MCP 工具?
Cursor AI 将列出来自已连接 MCP 服务器的所有可用 Anysite 工具。

快速数据提取

示例:LinkedIn 个人资料分析 在 Cursor AI 聊天中,输入:
从此 LinkedIn 个人资料中提取信息:
https://linkedin.com/in/satyanadella

重点关注:
- 当前职位和公司
- 职业发展
- 教育背景
Cursor 将使用 linkedin_user MCP 工具获取和分析数据。

开发工作流程

工作流程 1:构建销售情报功能

场景: 您正在构建一个需要 LinkedIn 数据增强的 CRM 功能。 步骤 1:定义数据模型 在 Cursor AI 中:
我正在构建一个潜在客户增强功能。从此 LinkedIn 个人资料提取数据
并基于可用数据建议一个 TypeScript 接口:
https://linkedin.com/in/example-profile
步骤 2:生成代码
使用我们刚才看到的 LinkedIn 数据结构,创建一个 TypeScript 服务
用于为我们的 CRM 获取和转换 LinkedIn 数据。
包括错误处理和速率限制。
步骤 3:用真实数据测试
通过从这些个人资料提取数据来测试服务:
- linkedin.com/in/profile1
- linkedin.com/in/profile2
验证响应是否符合我们的接口。

工作流程 2:竞争分析工具

项目设置:
my-competitor-tool/
├── .cursor/
│   └── mcp.json          # MCP 配置
├── src/
│   ├── analyzers/
│   │   └── company.ts
│   └── types/
│       └── linkedin.ts
└── package.json
在 Cursor AI 聊天中:
我正在构建一个竞争分析工具。对于这些公司:
- https://linkedin.com/company/competitor1
- https://linkedin.com/company/competitor2

提取:
1. 员工数量和增长
2. 最近的招聘信息
3. 关键高管

然后生成 TypeScript 代码来定期获取和比较这些数据。

工作流程 3:潜在客户评分系统

定义评分标准:
我正在构建一个潜在客户评分系统。对于此 LinkedIn 个人资料:
https://linkedin.com/in/potential-lead

提取相关数据并基于以下条件建议评分标准:
- 资历级别
- 公司规模
- 行业相关性
- 互动信号

然后创建一个 TypeScript 函数来评分潜在客户。

代码中的实时数据

示例 1:动态数据获取

在您的项目中,询问 Cursor:
我需要在 Node.js 应用中动态获取 LinkedIn 公司数据。
从 https://linkedin.com/company/target-company 提取示例数据
并创建一个返回此结构的 API 端点。
Cursor 生成:
// src/api/company.ts
import { Router } from 'express';

interface LinkedInCompany {
  name: string;
  industry: string;
  size: string;
  location: string;
  description: string;
  employeeCount: number;
  // ... 基于提取的数据
}

const router = Router();

router.get('/company/:slug', async (req, res) => {
  const { slug } = req.params;

  // MCP 工具集成将在这里
  const companyData = await fetchLinkedInCompany(slug);

  res.json(companyData);
});

export default router;

示例 2:数据验证

用真实数据验证您的数据模型:
将此 TypeScript 接口与实际 LinkedIn 个人资料数据进行比较:

interface UserProfile {
  name: string;
  headline: string;
  location: string;
  experience: Experience[];
}

从 linkedin.com/in/test-profile 提取数据并识别任何缺失的字段。

示例 3:生成测试固件

从这些个人资料提取真实数据:
- linkedin.com/in/engineer-profile
- linkedin.com/in/manager-profile
- linkedin.com/in/executive-profile

生成代表典型数据变化的 TypeScript 测试固件。

多平台研究

组合数据源

跨平台研究一个人:
全面研究这个人:
- LinkedIn:linkedin.com/in/target-person
- Instagram:@target_person(如果可用)
- Reddit 活动:u/target_person

编译统一的档案并识别其在线存在的模式。

监控竞争对手

对于竞争情报,分析:

1. 公司 LinkedIn:linkedin.com/company/competitor
2. 最近的 Reddit 提及:在 r/industry 中搜索"competitor name"

生成监控报告并建议用于显示此数据的 React 组件。

使用实时数据生成代码

生成 API 包装器

从 linkedin.com/in/sample-profile 提取完整数据结构
并生成:
1. 所有数据类型的 TypeScript 接口
2. 完整的 API 客户端类
3. Zod 验证模式
4. 使用真实数据作为固件的 Jest 测试用例

生成数据库模式

基于 linkedin.com/company/example 的 LinkedIn 公司数据:

生成:
1. 用于存储此数据的 Prisma 模式
2. 数据库迁移
3. CRUD 操作

生成文档

使用 LinkedIn 个人资料数据结构,生成:
1. 每个字段的 JSDoc 注释
2. OpenAPI 格式的 API 文档
3. 带有使用示例的 README

使用 MCP 数据调试

验证 API 响应

当您的 API 没有返回预期数据时:
我的 API 应该返回类似 LinkedIn 的数据。这是我得到的:
[粘贴您的 API 响应]

将此与 linkedin.com/in/test-profile 的实际 LinkedIn 数据进行比较
并识别差异。

调试数据转换

我正在转换 LinkedIn 数据但得到意外结果。

这是我的转换器:
[粘贴您的代码]

从 linkedin.com/in/test-profile 获取新数据,并逐步向我展示
应该如何转换。

高级技术

批量处理模式

处理多个个人资料:
我需要处理 100 个 LinkedIn 个人资料。设计一个系统:
1. 处理速率限制
2. 实现重试逻辑
3. 缓存结果
4. 报告进度

首先从这些个人资料提取示例数据:
- linkedin.com/in/profile1
- linkedin.com/in/profile2
- linkedin.com/in/profile3

事件驱动架构

设计一个用于 LinkedIn 数据更新的事件驱动系统:

1. 从 linkedin.com/company/target 获取初始数据
2. 为数据更改创建事件类型
3. 实现更改检测
4. 生成通知处理程序

向我展示 TypeScript 实现。

数据管道集成

我正在为 LinkedIn 数据构建 ETL 管道。设计:

1. 提取层(使用 MCP 工具)
2. 转换层(规范化数据)
3. 加载层(到 PostgreSQL)

包括错误处理和监控。
使用 linkedin.com/company/example 的数据演示

最佳实践

1. 数据模型优先

在设计数据模型之前始终提取真实数据:
在我设计数据库模式之前,向我展示
linkedin.com/in/representative-profile 的实际数据结构

2. 增量开发

使用真实数据验证增量构建功能:
步骤 1:向我展示 LinkedIn 个人资料数据结构
步骤 2:生成 TypeScript 接口
步骤 3:创建获取函数
步骤 4:添加错误处理
步骤 5:使用 3 个不同的个人资料测试

3. 安全考虑

永远不要硬编码密钥

始终在 .cursor/mcp.json 中使用环境变量存储 API 密钥

Git 忽略配置

如果 .cursor/mcp.json 包含 API 密钥,将其添加到 .gitignore

掩盖敏感数据

共享代码或截图时,掩盖提取中的任何个人数据

注意速率限制

从一开始就设计您的代码以遵守 API 速率限制

4. 测试策略

对于我的 LinkedIn 集成测试,我需要:
1. 基于真实响应的模拟数据(从 linkedin.com/in/test 提取)
2. 边缘情况处理(空个人资料、私人账户)
3. 错误模拟(速率限制、网络故障)

生成全面的测试套件。

常见模式

模式 1:个人资料增强服务

// 请求 Cursor 基于真实数据提取生成
class ProfileEnrichmentService {
  async enrich(linkedinUrl: string): Promise<EnrichedProfile> {
    // 使用 MCP 工具集成的实现
  }
}
在 Cursor 中:
从 linkedin.com/in/sample-profile 提取数据并完成
此 ProfileEnrichmentService 类,具有适当的类型和错误处理。

模式 2:公司情报仪表板

设计一个显示以下内容的 React 仪表板:
1. 公司概览(从 linkedin.com/company/target 提取)
2. 员工增长图表
3. 最新动态时间线
4. 关键人物部分

生成带有 TailwindCSS 样式的组件。

模式 3:潜在客户资格评估工作流程

构建一个潜在客户资格评估工作流程:
1. 接收 LinkedIn URL 输入
2. 提取个人资料数据
3. 基于标准评分
4. 返回资格结果

使用 linkedin.com/in/potential-lead 测试

故障排除

解决方案:
  • 重新加载 Cursor 窗口(Cmd/Ctrl + Shift + P → “Reload Window”)
  • 验证 .cursor/mcp.json 语法有效
  • 检查 Node.js 是否已安装
  • 确保 API 密钥正确
解决方案:
  • 检查您的互联网连接
  • 在 Anysite 仪表板中验证 API 速率限制
  • 考虑缓存频繁访问的数据
  • 尽可能使用批量请求
解决方案:
  • 在定义类型之前始终提取新数据
  • 使用运行时验证(Zod、io-ts)
  • 优雅地处理可选字段
  • 在开发期间记录原始响应
解决方案:
  • 从 Anysite 仪表板重新生成密钥
  • 检查配置中的多余空格
  • 验证订阅是否活跃
  • 首先用直接 API 调用测试

资源

需要帮助?

获取支持

联系我们的支持团队获取 Cursor MCP 工作流程帮助