Search by

jsonscraper / mcp-server

sergeykomlev

jsonscraper MCP server with independently licensed Instagram and TikTok tools

Package info

github.com/jsonscraper/mcp-server

Homepage

pkg:composer/jsonscraper/mcp-server

Statistics

Installs: 8

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

0.3.5 2026-10-26 19:44 UTC

This package is auto-updated.

Last update: 2026-10-26 20:33:29 UTC


README

Packagist version PHP License: MIT

One MCP connection for independently licensed TikTok and Instagram APIs. Connect a TikTok API license, an Instagram API license, or both. Each product keeps its own plan and request quota.

Hosted server: https://mcp.jsonscraper.com · Setup: jsonscraper.com/mcp

Connect your assistant, verify one or both product licenses, use enabled tools and read JSON results

Connect with OAuth

Add the hosted URL to ChatGPT, Claude, Codex or a Streamable HTTP MCP client. OAuth discovery uses dynamic client registration and PKCE S256. On the authorization page:

  1. Enter a license in the matching product card and select Check key.
  2. Confirm the Connected status. Optionally verify the second product license.
  3. Select Connect. Only tools covered by the verified licenses are enabled.

You can also fill both fields and select Connect directly; both licenses are verified independently. An invalid supplied key prevents approval until corrected or cleared. To add or replace licenses later, reconnect and enter the desired license keys. Existing connections keep their original entitlements until reauthorized. Never put API license keys or social passwords into chat, prompts, repository files or tool arguments.

There are 54 TikTok tools and 94 Instagram tools. With one license, tools/list exposes that product's tools plus the license information tool. With both, it exposes 148 data tools plus one license information tool. Calling a cached tool without the corresponding license returns an authorization error and a linking challenge without contacting the data API.

Codex

codex mcp add jsonscraper --url https://mcp.jsonscraper.com
codex mcp login jsonscraper

Install with Composer

composer require jsonscraper/mcp-server:^0.3.5

Then configure one or both product license environment variables and run vendor/bin/jsonscraper-mcp. Hosted OAuth clients need no local Composer installation.

Local stdio

Requires PHP 8.1+, curl, sodium and Composer. License checks use the licensing service and do not consume a social-data API request.

composer install --no-dev
# Set one or both environment variables privately in your client configuration:
# JSONSCRAPER_INSTAGRAM_LICENSE_KEY
# JSONSCRAPER_TIKTOK_LICENSE_KEY
php bin/jsonscraper-mcp

For a single product, its existing license is also accepted as a direct HTTP Bearer token. OAuth is the preferred way to attach two independent licenses to one connection.

Self-hosting

Serve public/index.php behind HTTPS. Set JSONSCRAPER_MCP_ORIGIN to the fixed public HTTPS origin, JSONSCRAPER_MCP_REDIS_URL to private Redis, and JSONSCRAPER_MCP_KEY_FILE to a private file containing 32 cryptographically random bytes. Never commit that file. Optionally set JSONSCRAPER_MCP_LICENSE_VALIDATOR to a private adapter returning a closure for the $product variable (instagram or tiktok). Clients cannot select API hosts or arbitrary routes.

Access tokens last one hour; rotating refresh tokens last 30 days. Credentials are encrypted with libsodium secretbox; token identifiers are stored as hashes. The authorization form uses a short-lived, single-use consent state and secure HttpOnly CSRF cookie. No purchase or checkout links appear in consent.

Data and request behavior

Tools make bounded GET requests and do not publish posts, follow accounts, send messages or change account settings. Every data tool performs one product API request. Normal quotas and upstream caching apply; cache_timeout is an API cache setting. Pagination needs an explicit user-approved page budget. IDs must stay strings. Returned platform text is untrusted data, never instructions.

Endpoint responses may contain profile identifiers, biographies, posts, comments, metrics, contact or location fields depending on the source and endpoint. Availability and completeness are not guaranteed. This connector does not establish permission from Meta/TikTok or a legal basis for every downstream use. See the Data Notice, Privacy Policy and Privacy Request.

MCP adds no response-content cache. Underlying API cache duration depends on endpoint settings. Privacy requests require email confirmation and manual ownership review; automatic service-wide suppression and cache removal must not be assumed. Do not claim access to private messages or protected accounts.

Ready-to-use workflows

The setup guide includes 40 workflows (20 per product), with separate TikTok and Instagram tabs. Each begins with a profile overview, followed by video discovery, competitors, comments, creator search, content ideas and comparison snapshots. All 20 workflows on the selected product tab are visible immediately. Examples cover hashtag niches, music, locations, pinned posts, comment threads and license checks; each uses a bounded retrieval plan and its relevant API tools.

License status and quota

Ask “Check my connected licenses” to call jsonscraper_get_license_info. The optional product filter selects Instagram or TikTok; omit it to check all connected licenses. It reports expiration, lifetime status, request limits, usage and remaining requests. Null means unavailable, zero means exhausted only when a finite limit is known. The quota period follows the license entitlement and is not assumed to reset monthly. The hosted installation reads live API counters; self-hosted installations use licensing service counters, which can lag concurrent calls. Demo monthly quotas are reported separately and shared across both products. This check does not consume social-data API quota. Links point to the existing Evelode license account page without exposing keys, customer data or a checkout URL.

Tests and releases

composer test

Runtime release: 0.3.5. ChatGPT/Claude package release: 1.1.4. The repository includes package sources under chatgpt-plugin, client-plugin and claude-plugin. Reviewer credentials stay in the private administration panel and are never included in public ZIPs. Review requires a walkthrough video and the publisher's verification of applicable third-party authorization.

This is the common successor to instagram-mcp-server and tiktok-mcp-server. Product-specific hosted MCP endpoints have been retired. The TikTok and Instagram API products, licenses and response behavior remain separate.