Resolve public X/Twitter profiles, posts, and media through CarryFeed.
Public SDK, CLI, MCP server, OpenAPI notes, and agent skill wrappers for the hosted CarryFeed API.
This repository is intentionally a wrapper layer. It does not include CarryFeed's internal resolver implementation, Worker source, direct X/Twitter client code, tokens, cookies, or scraping internals.
CarryFeed gives agents one stable, source-preserving way to read public X/Twitter links. Instead of driving a browser, handling login prompts, or losing source context in screenshots, agents can call a hosted API and receive public profile, post, article, and media metadata with the original URL kept beside the result.
Useful links:
@carryfeed/sdk: JavaScript SDK for the hosted CarryFeed API.@carryfeed/cli: CLI wrapper for agents and local scripts.@carryfeed/mcp: stdio MCP server for MCP-capable agents.skills/carryfeed-twitter-tools: Agent skill instructions for public X/Twitter link workflows.CarryFeed works with public X and Twitter links only. It is designed for public profile, post, article, and media metadata workflows. It does not unlock private, protected, deleted, restricted, or login-only content.
pbs.twimg.com and video.twimg.com media URLs.npm install @carryfeed/sdk
import { CarryFeedClient } from "@carryfeed/sdk";
const carryfeed = new CarryFeedClient();
const post = await carryfeed.resolve("https://x.com/user/status/123");
const media = await carryfeed.resolveMedia("https://x.com/user/status/123");
const profile = await carryfeed.getProfile("NASA");
CLI:
npx -y @carryfeed/cli resolve https://x.com/user/status/123 --compact
npx -y @carryfeed/cli media https://x.com/user/status/123 --compact
npx -y @carryfeed/cli profile NASA --statuses --count 5 --compact
MCP:
{
"mcpServers": {
"carryfeed": {
"command": "npx",
"args": ["-y", "@carryfeed/mcp"]
}
}
}
See docs/agents.md for agent-facing usage, response expectations, and safety boundaries.
The repository includes skills/carryfeed-twitter-tools, a wrapper-only skill that tells agents to use npx -y @carryfeed/cli for public X/Twitter source context. SDK and OpenAPI details are kept for developers, while the skill gives agents one default path.
After this repository is public, agents that support the Skills CLI can install it with:
npx skills add christian-beep383/carryfeed-agent-tools --skill carryfeed-twitter-tools
For ClawHub, publish from the skill folder after the npm packages and public repository are ready:
clawhub skill publish . --slug carryfeed-twitter-tools --name "CarryFeed Twitter Tools" --version 0.1.0 --changelog "Initial release"
Twitter/X search and hashtag search are planned as a later API surface. See docs/roadmap.md.
The npm scope is @carryfeed.
Dry-run package contents:
npm run pack:sdk
npm run pack:cli
npm run pack:mcp
Publish when logged in as an npm user with write access to the carryfeed organization:
npm run publish:sdk
npm run publish:cli
npm run publish:mcp
Recommended first GitHub remote:
git remote add origin https://github.com/christian-beep383/carryfeed-agent-tools.git
Source-derived launch command. Check the maintainer’s required arguments and credentials before running:
npx -y @carryfeed/mcpMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"io-github-christian-beep383-carryfeed": {
"command": "npx",
"args": [
"-y",
"@carryfeed/mcp"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.
Claude Desktop setup reference@carryfeed/mcpnpmCarryFeed works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.