Skip to main content
Glama
FastSocialCo

instagram-data-mcp

README.md
# instagram-data-mcp (local stdio package)

<!-- mcp-name: io.github.FastSocialCo/instagram-data-mcp -->

A small local MCP server for public Instagram data, published on PyPI as `instagram-data-mcp`.
It gives Claude, Cursor and any other MCP client 28 read-only tools: profiles, posts, reels,
stories, highlights, comments, likers, followers, hashtags, places, audio, search
and a daily ranking of the 2,000 most-followed accounts.

Most people don't need this package. The same tools are available from the remote server at
`https://data.fastsocial.co/mcp`, with sign-in in the browser and nothing to install. Setup for
that is in [FastSocialCo/instagram-data-mcp](https://github.com/FastSocialCo/instagram-data-mcp).
Use this package if your client only runs local (stdio) servers.

## Run it

Get a key at https://fastsocial.co/instagram-api?ref=pypi (there is a free plan), then:

```json
{
  "mcpServers": {
    "instagram-data": {
      "command": "uvx",
      "args": ["instagram-data-mcp"],
      "env": { "IG_DATA_API_KEY": "your_key" }
    }
  }
}
```

No `uvx`? `pip install instagram-data-mcp` and use `"command": "instagram-data-mcp"` instead.

## What it does and what it sends

The whole server is [`server.py`](src/instagram_data_mcp/server.py), about 150 lines. It reads the
bundled [`openapi.json`](src/instagram_data_mcp/openapi.json) (the public spec of the Instagram
Data API) and turns each `GET` endpoint into one tool.

When a tool is called, it makes one HTTPS `GET` request to `https://data.fastsocial.co/v1/<endpoint>`
with the tool's arguments as query parameters, your key in the `X-API-Key` header and
`instagram-data-mcp` as the user agent. It returns the JSON response as is. That is the only
network request it makes.

- Every tool reads. Each one is marked `readOnlyHint: true`. None can log in to Instagram, post,
  follow, like or message.
- It writes no files and stores nothing. Your key stays in your client's config and is only ever
  sent in that header.
- No install scripts, no telemetry.

Privacy policy: https://fastsocial.co/privacy · Terms: https://fastsocial.co/terms

## Settings

| Env var | Default | |
|---|---|---|
| `IG_DATA_API_KEY` | none | Required |
| `IG_DATA_API_BASE` | `https://data.fastsocial.co` | |
| `IG_DATA_API_TIMEOUT` | `60` | Seconds |

## Tools

The tool list and what each one costs in credits are in the
[plugin README](https://github.com/FastSocialCo/instagram-data-mcp#the-27-tools) and the
[API docs](https://fastsocial.co/instagram-api/docs?ref=pypi).

## Security

Report a vulnerability to contact@fastsocial.co. See
[SECURITY.md](https://github.com/FastSocialCo/instagram-data-mcp/blob/main/SECURITY.md).

## License

MIT

TDQS

A3.5/5.0

Scored across 28 tools

Disambiguation3/5

Several tool pairs are easy to confuse: instagram_highlight vs instagram_highlights, instagram_post vs instagram_posts, and instagram_username vs instagram_user_id all operate on closely related concepts with near-identical names. Descriptions do clarify the boundaries, but the volume of overlapping account/post/sub-resource endpoints creates real misselection risk.

Naming Consistency4/5

Every tool uses a consistent instagram_ prefix followed by lowercase snake_case, which is predictable. The pattern mixes noun-only names (instagram_profile) with noun_action names (instagram_reels_search), so it is not a strict verb_noun convention, but it is still highly readable and consistent.

Tool Count3/5

At 28 tools the surface is heavy and exceeds the typical 3-15 range, with some endpoints that could be consolidated (e.g. highlight vs highlights, username vs user_id). However, the scope is genuinely broad—profiles, posts, comments, followers, stories, places, audio, search, insights—so most tools earn their place.

Completeness4/5

Coverage of public Instagram data is strong: profiles, posts, reels, comments, likers, followers/following, stories, highlights, hashtags, places, audio, search, insights, and top accounts are all present. Minor gaps exist (e.g. no single-post insights or live/other niche endpoints), but core lifecycle operations are well covered.

Maintenance

ActivityMaintained
ResponsivenessNo issues