@twitterapis/mcp 0.13.0 → 0.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.13.1 (2026-09-28)
4
+
5
+ - **`twitter_user_search` no longer claims bio matching.** X's People search
6
+ matches display name and handle only; a term that appears only in a bio
7
+ returns no match (measured live 2026-09-28). The description and the `query`
8
+ arg now say so, and point to `twitter_user_followers` or
9
+ `twitter_advanced_search` plus a `description` filter for bio lookups. No
10
+ schema change; `test/openapi.snapshot.json` and the catalog baseline are
11
+ refreshed to the corrected docs SoT.
12
+
3
13
  ## 0.13.0 (2026-09-23)
4
14
 
5
15
  - **Every data read takes `fields` and `compact`.** The API added response
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@twitterapis/mcp",
3
3
  "mcpName": "io.github.TwitterAPIs/twitterapis-mcp",
4
- "version": "0.13.0",
4
+ "version": "0.13.1",
5
5
  "description": "Official MCP server for twitterapis.com, the Twitter/X API (search, users, followers, tweets, threads, lists, likes, bookmarks, DMs) plus write actions (post/like/retweet/follow) as native tools for Claude, Cursor, and any MCP client.",
6
6
  "repository": {
7
7
  "type": "git",
@@ -28,7 +28,7 @@
28
28
  "build": "node scripts/gen-tools.mjs --write && node scripts/gen-manifest-tools.mjs --write",
29
29
  "build:check": "node scripts/gen-tools.mjs --check",
30
30
  "openapi:refresh": "node scripts/openapi-refresh.mjs",
31
- "test": "node scripts/gen-tools.mjs --check && node scripts/gen-manifest-tools.mjs --check && node test/gen-tools-endpoints.mjs && node test/catalog-identity.mjs && node test/tools.test.mjs && node test/feedback.test.mjs && node test/hint-for.test.mjs && node test/smoke.mjs && node test/openapi-parity.mjs && node test/body-mode-parity.mjs && node test/readme-parity.mjs && node test/firewall.mjs && node test/registry-manifests.mjs && node scripts/__tests__/reconcile-mcp-publish-chain.test.mjs",
31
+ "test": "node scripts/gen-tools.mjs --check && node scripts/gen-manifest-tools.mjs --check && node test/gen-tools-endpoints.mjs && node test/catalog-identity.mjs && node test/tools.test.mjs && node test/feedback.test.mjs && node test/hint-for.test.mjs && node test/smoke.mjs && node test/openapi-parity.mjs && node test/snapshot-redaction.mjs && node test/body-mode-parity.mjs && node test/readme-parity.mjs && node test/firewall.mjs && node test/registry-manifests.mjs && node scripts/__tests__/reconcile-mcp-publish-chain.test.mjs",
32
32
  "prepublishOnly": "npm test && node test/publish-provenance.mjs && node scripts/prepublish-version-class.mjs",
33
33
  "check:openapi-parity": "node test/openapi-parity.mjs",
34
34
  "check:body-mode-parity": "node test/body-mode-parity.mjs",
package/src/tools.js CHANGED
@@ -61,10 +61,10 @@ export const TOOLS = [
61
61
  name: "twitter_user_search",
62
62
  path: "/twitter/user/search",
63
63
  description:
64
- "Search for Twitter/X user accounts by name, keyword, or topic. Returns matching profiles (username, display name, bio, follower count, verification status) with a pagination cursor. Use this to discover accounts in a niche, find brand handles, or locate a person when you only know their name.",
64
+ "Search for Twitter/X user accounts by display name or handle (X's People search; bio text is NOT searched, so a word that appears only in a bio returns no match). Returns matching profiles (username, display name, bio, follower count, verification status) with a pagination cursor. Use this to find brand handles, resolve a partial handle, or locate a person when you only know their name. To find accounts by what their bio says, use twitter_user_followers on a relevant account or twitter_advanced_search for tweets mentioning it, then filter the description field.",
65
65
  shape: {
66
66
  query: z.string().describe(
67
- "Name, keyword, or topic to search accounts for. Examples: 'OpenAI', 'AI researcher', 'tech founder'.",
67
+ "Name, brand, or partial handle to search accounts for, matched against display name and handle. Examples: 'OpenAI', 'Sam Altman', 'stablecoin'.",
68
68
  ),
69
69
  count: z.number().int().min(1).max(200).optional().describe(
70
70
  "Requested page size, capped at 200. Advisory only for this endpoint: X's own search backend typically returns around 13 to 20 tweets per page regardless of the value requested here, an upstream limit, not something this API controls. To retrieve more results, page with the cursor from the previous response rather than raising this value.",