关于 instadata
instadata 是用于获取公开 Instagram 资料、最新帖子及帖子或 Reels 评论 JSON 的本地桥接程序,适合需要只读 Instagram 数据的客户端。它将请求转发给 HasData,不在本地存储或抓取内容。
主要功能
- 01按用户名获取公开资料
- 02列出最新帖子及媒体详情
- 03获取帖子和 Reels 评论
- 04翻页读取帖子和评论
- 05只读转发至 HasData
适用场景
- 01查看公开账户资料和受众数据
- 02检查最新帖子及互动指标
- 03获取帖子或 Reels 下的评论
MCP 相关
向 MCP 客户端提供三个只读 Instagram 查询工具,并将调用转发至托管的 HasData Instagram MCP 服务,成功结果原样返回。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
3收录的工具列表 · 更新于 2 天前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| url | string | 是 | Instagram 帖子或 Reels 的 URL,例如 `https://www.instagram.com/p/Ddjis3vETcP/` 或 `https://www.instagram.com/instagram/reel/DcymgItMFao/`。 |
| includeMusic | boolean | 否 | 同时在 `post.music` 中返回 Reels 的音频信息(音频 ID、艺人和歌曲标题),包括授权曲目和原创音频。此操作会在第一页额外请求 Instagram;设置 `nextPageToken` 时会忽略此参数。默认值为 false。 |
| nextPageToken | string | 否 | 指定下一页令牌。请使用上一次响应返回的 `nextPageToken` 值。省略此参数可获取第一页。 |
详细介绍
instadata
instadata 是一个轻量的本地桥接程序,用于连接托管的 HasData Instagram MCP 服务,该服务以 JSON 返回公开的 Instagram 内容。指定一个账号名,它可以返回该账号的个人资料——全名、简介、 外部链接、头像、粉丝数和关注人数,以及认证和私密标记——也可以返回 该账号的最新帖子,包括说明文字、话题标签、 提及、点赞数和评论数、视频和 Reels 的播放次数、 媒体 URL 和时间戳。改为提供帖子或 Reel URL,它就会返回 该帖子的评论,每条评论都包含文本、时间戳、点赞数和回复数, 以及作者信息。
该桥接程序不存储任何内容,也不会自行抓取数据。 它会在本地返回工具列表,内容与从实时端点捕获的完全一致, 并将每次工具调用转发到上游,再原样返回响应。整个 接口只包含对公开内容的三种只读查询:不会发布内容、发送消息、关注账号 或存储数据,也不会涉及任何电子邮件或电话号码。
工具
hasdata_instagram_profile_getInstagramProfile— 按账号名查询一个公开个人资料。必需参数:handle(用户名,不含@)。返回全名、简介、外部链接、头像 URL、 粉丝数、关注人数,以及认证/私密标记。hasdata_instagram_posts_getInstagramPosts— 查询公开账号的 最新帖子。必需参数:handle。可选参数:limit(每次请求返回的帖子数, 上游默认为 12)和nextPageToken,用于继续获取较早的帖子。 私密账号和不存在的账号名会返回错误字段, 而不是帖子。hasdata_instagram_comments_getInstagramComments— 查询公开帖子或 Reel 的评论。必需参数:url(/p/、/reel/或/tv/链接,可带或不带用户名部分)。 可选参数:nextPageToken,用于获取后续页面;以及includeMusic, 用于在第一页中同时返回 Reel 的声音信息(音频 ID、艺术家 和歌曲标题)。第一页还会包含帖子本身,包括轮播项目;后续页面仅返回评论。
配置
HASDATA_INSTAGRAM_MCP_URL(可选)——覆盖 上游端点。默认值为https://mcp.hasdata.com/mcp?apis=instagram。(此 覆盖钩子是本次重建中明确标注的部分。)HASDATA_API_KEY(可选)——设置后,每个上游请求都会携带x-api-key: <value>标头,使用调用者自己的 HasData API 密钥。未 设置时,不会发送密钥标头。(标头名称和环境变量名称由原始项目的 注册记录确定;从此环境变量转发密钥是明确标注的重建部分——原始 接口是在不带密钥的情况下捕获的。)
转发机制
首次工具调用会在上游打开一个可流式传输的 HTTP 会话:
先发送 JSON-RPC initialize 请求
(protocolVersion 2025-03-26,clientInfo 名称为
instadata),然后发送 notifications/initialized
通知,接着发送携带调用者参数且未经修改的 tools/call 请求。如果上游在
initialize 响应中返回 Mcp-Session-Id
标头,该值会附加到此会话的每个后续请求中,并在进程运行期间复用该会话。
响应可能是普通 JSON,也可能是服务器发送事件;两种格式都会读取。
上游成功结果会原样透传,包括上游设置的任何
isError 标记。
失败情况——JSON-RPC 错误、非 2xx 状态、无法读取的响应,或
无法完成的请求——会作为 isError 结果返回,其文本以 instadata error: 开头
(此错误呈现方式是本次重建中明确标注的部分)。
命令行界面
每种工具也都可以作为子命令使用,接受一个 JSON 参数字符串:
npx @reneturcios/instadata hasdata_instagram_profile_getInstagramProfile '{"handle":"instagram"}'
npx @reneturcios/instadata hasdata_instagram_posts_getInstagramPosts '{"handle":"instagram","limit":5}'
npx @reneturcios/instadata hasdata_instagram_comments_getInstagramComments '{"url":"https://www.instagram.com/p/Ddjis3vETcP/"}'
npx @reneturcios/instadata --version
退出代码:成功时为 0,结果为 isError
时为 1,用法错误时为 2。
MCP 服务
npx -y @reneturcios/instadata mcp
MCP 客户端配置:
{
"mcpServers": {
"instadata": {
"command": "npx",
"args": ["-y", "@reneturcios/instadata", "mcp"]
}
}
}
Docker
docker run -i ghcr.io/cloudcorprecords/instadata
docker run --rm ghcr.io/cloudcorprecords/instadata --version
容器的默认命令是 mcp,因此第一种形式是 stdio MCP 服务;其他参数
会照常传递给命令行界面。
开发
npm install
npm run build
npm test
npm run dev
测试套件完全针对桩化的 JSON-RPC 上游运行,不会发起实时网络调用。
许可证
MIT — 详见 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。