mcpField
F
felo-x-search

felo-x-search

github.com/felo-incProductivity25099 installsUpdated 14w ago
Repository

About felo-x-search

felo-x-search is a skill for querying X (Twitter) users and posts, for finding profiles, a user's posts, keyword results, and replies to selected posts. It supports advanced query syntax, time filters, and cursor-based pagination.

Key features

  1. 01Search posts and users by keyword
  2. 02Retrieve user profiles and posts
  3. 03Get replies to selected posts
  4. 04Use advanced queries and time filters
  5. 05Paginate with cursors and output JSON

Use cases

  1. 01Find X posts on a particular topic
  2. 02Look up a profile by username
  3. 03Review posts from a specific user
  4. 04Retrieve replies to a selected post

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/felo-inc/felo-skills --skill felo-x-search

After installing, type/felo-x-searchin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

clawhub.json
README.md
scripts/
run_x_search.mjs

Details

From the project README

Felo X Search Skill

When to Use

Trigger this skill when the user wants to:

  • Look up X (Twitter) user profiles by username
  • Search for X users by keyword
  • Get tweets from a specific X user
  • Search tweets by keyword or advanced query
  • Get replies to specific tweets

Trigger keywords (examples):

  • English: twitter, tweet, X user, X search, tweets from, replies to, trending on X
  • 简体中文: 推特, 推文, X用户, X搜索, 推文回复
  • 日本語: ツイッター, ツイート, Xユーザー, X検索

Explicit commands: /felo-x-search, "search X", "search twitter"

Do NOT use for:

  • General web search (use felo-search)
  • Webpage extraction (use felo-web-extract)
  • Generating slides (use felo-slides)

Setup

1. Get API key
  1. Visit felo.ai
  2. Open Settings -> API Keys
  3. Create and copy your API key
2. Configure environment variable

Linux/macOS:

export FELO_API_KEY="your-api-key-here"

Windows PowerShell:

$env:FELO_API_KEY="your-api-key-here"

How to Execute

Option A: Use the bundled script or packaged CLI

Packaged CLI (after npm install -g felo-ai):

felo x [query] [options]

Script (from repo):

node felo-x-search/scripts/run_x_search.mjs [query] [options]
Usage Pattern

The x command uses parameter combinations to infer intent — no subcommands needed.

With query (search mode):

UsageBehavior
felo x "AI news"Search tweets (default)
felo x -q "AI news"Same as above
felo x "OpenAI" --userSearch users

With --id (lookup mode):

UsageBehavior
felo x --id "1234567890"Get tweet replies (default)
felo x --id "elonmusk" --userGet user info
felo x --id "elonmusk" --user --tweetsGet user tweets
Options
OptionDescription
[query]Positional arg, search keyword (equivalent to -q)
-q, --query <text>Search keyword
--id <values>Tweet IDs or usernames (comma-separated)
--userSwitch to user mode
--tweetsGet user tweets (with --id --user)
-l, --limit <n>Number of results
--cursor <str>Pagination cursor
--include-repliesInclude replies (with --tweets)
--query-type <type>Query type filter (tweet search)
--since-time <val>Start time filter
--until-time <val>End time filter
-j, --jsonOutput raw JSON
-t, --timeout <seconds>Timeout in seconds (default: 30)
Option B: Call API with curl
# Search tweets
curl -X POST "https://openapi.felo.ai/v2/x/tweet/search" \
  -H "Authorization: Bearer $FELO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query": "AI news", "limit": 20}'

# Search users
curl -X POST "https://openapi.felo.ai/v2/x/user/search" \
  -H "Authorization: Bearer $FELO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query": "artificial intelligence"}'

# Get user info
curl -X POST "https://openapi.felo.ai/v2/x/user/info" \
  -H "Authorization: Bearer $FELO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"usernames": ["elonmusk", "OpenAI"]}'

# Get user tweets
curl -X POST "https://openapi.felo.ai/v2/x/user/tweets" \
  -H "Authorization: Bearer $FELO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"username": "elonmusk", "limit": 20}'

# Get tweet replies
curl -X POST "https://openapi.felo.ai/v2/x/tweet/replies" \
  -H "Authorization: Bearer $FELO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"tweet_ids": ["1234567890"]}'

Output Format

User Info (default, non-JSON)
## @elonmusk (Elon Musk 🔵)
- User ID: `44196397`
- Followers: 100.0M
- Following: 500
- Total Tweets: 30.0K
- Bio: ...
- Location: Mars
- Account Created: 2009-06-02T00:00:00Z

---
Tweet (default, non-JSON)
### @elonmusk(Elon Musk ✓)
- Posted: 2026-03-09T12:00:00Z | Tweet ID: `1234567890`

Tweet content here...

Engagement: 5.0K likes | 1.0K retweets | 200 replies

---

Error Handling

Common Error Codes
  • INVALID_API_KEY — API Key is invalid or revoked
  • X_SEARCH_FAILED — X search request failed (check parameters or downstream error)
Missing API Key

If FELO_API_KEY is not set, display setup instructions and stop.

API Reference (summary)

  • Base URL: https://openapi.felo.ai. Override with FELO_API_BASE env if needed.
  • Auth: Authorization: Bearer YOUR_API_KEY
  • Endpoints:
    • POST /v2/x/user/info — Batch get user profiles
    • POST /v2/x/user/search — Search users
    • POST /v2/x/user/tweets — Get user tweets
    • POST /v2/x/tweet/search — Search tweets
    • POST /v2/x/tweet/replies — Get tweet replies

Important Notes

  • Always check FELO_API_KEY before calling; if missing, return setup instructions.
  • Format output as readable Markdown by default; use --json for raw API response.
  • Use pagination cursors (next_cursor) for fetching more results.
  • For tweet search, advanced query syntax is supported (same as X advanced search).

References

Comments

Markdown supported