mcpField
I
instadata

instadata

本地服务
github.com/CloudCorpRecords社交媒体02 天前更新

关于 instadata

instadata 是用于获取公开 Instagram 资料、最新帖子及帖子或 Reels 评论 JSON 的本地桥接程序,适合需要只读 Instagram 数据的客户端。它将请求转发给 HasData,不在本地存储或抓取内容。

主要功能

  1. 01按用户名获取公开资料
  2. 02列出最新帖子及媒体详情
  3. 03获取帖子和 Reels 评论
  4. 04翻页读取帖子和评论
  5. 05只读转发至 HasData

适用场景

  1. 01查看公开账户资料和受众数据
  2. 02检查最新帖子及互动指标
  3. 03获取帖子或 Reels 下的评论

MCP 相关

向 MCP 客户端提供三个只读 Instagram 查询工具,并将调用转发至托管的 HasData Instagram MCP 服务,成功结果原样返回。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"cloudcorprecords-instadata": {
"command": "npx",
"args": [
"-y",
"@reneturcios/instadata"
]
}
}
}
启动命令npx -y @reneturcios/instadata

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@reneturcios/instadata0.1.0
ocighcr.io/cloudcorprecords/instadata:0.1.0

工具

3

收录的工具列表 · 更新于 2 天前

参数类型必填说明
urlstring是Instagram 帖子或 Reels 的 URL,例如 `https://www.instagram.com/p/Ddjis3vETcP/` 或 `https://www.instagram.com/instagram/reel/DcymgItMFao/`。
includeMusicboolean否同时在 `post.music` 中返回 Reels 的音频信息(音频 ID、艺人和歌曲标题),包括授权曲目和原创音频。此操作会在第一页额外请求 Instagram;设置 `nextPageToken` 时会忽略此参数。默认值为 false。
nextPageTokenstring否指定下一页令牌。请使用上一次响应返回的 `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。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。