Server definition
- Hash
- sha256:86191659d95bcc3da6e6501920d804952ba26b28d8c17e2055856fb521f64953
- What it is
- What a remote MCP server returned when asked what it offers: 23 tools
The blob, as servednamed by its sha256
{
"instructions": "Tools are the documented endpoints of Twitter on the JoJ API marketplace, called through the live gateway. Calls require a JoJ API key sent as an HTTP header on this MCP connection (Authorization: Bearer jk_...). Keys: https://jojapi.com/workspace/api-keys · Plans: https://jojapi.com/hub/api/twitter-x-aio/pricing · Docs: https://jojapi.com/hub/api/twitter-x-aio",
"tools": [
{
"description": "Receive a full list of all twitter custom emojis with the hashtag, image and more. Group: Utilities/Misc. Billing per call: 1 Credits.",
"inputSchema": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"name": "get_misc_emojis",
"outputSchema": null
},
{
"description": "This gives you a list of all available locations. Group: Utilities/Misc. Billing per call: 1 Credits.",
"inputSchema": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"name": "get_misc_locations",
"outputSchema": null
},
{
"description": "Get the full subtitles of a video Group: ✨ Exclusive endpoints. Billing per call: 1 Credits.",
"inputSchema": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"name": "get_misc_subtitles",
"outputSchema": null
},
{
"description": "resolve urls Group: Utilities/Misc. Billing per call: 1 Credits.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"urls": {
"type": "string"
}
},
"type": "object"
},
"name": "get_resolve_urls",
"outputSchema": null
},
{
"description": "With the search endpoint you can search all of twitter. You just need to provide a search term. ⚠ If you have a large cursor the GET-request will limit at some length. For that you can use a POST-request which has no limits. Billing per call: 1 Credits. Agents can pay per call ($0.01 via x402/MPP, no API key).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"category": {
"description": "ENUM\nTop,Latest,People,Photos,Videos",
"example": "Latest",
"title": "category",
"type": "string"
},
"count": {
"description": "The default count is 20. You can specify a custom one here.",
"example": "20",
"title": "count",
"type": "string"
},
"cursor": {
"description": "At the end of the entries array you'll find two objects with the type TimelineTimelineCursor. There is one cursor to go up (Top) and one for going down (bottom) the list.",
"title": "cursor",
"type": "string"
},
"filters": {
"description": "Learn more about all filters by reading the docs or contact me on telegram @benagain :)",
"example": "{\"since\": \"2020-10-01\"}",
"title": "filters",
"type": "string"
},
"includeTimestamp": {
"description": "Decide if you need a unix created_at timestamp. This will slightly increase the speed of the request.",
"example": "false",
"title": "includeTimestamp",
"type": "string"
},
"searchTerm": {
"type": "string"
}
},
"required": [
"searchTerm"
],
"type": "object"
},
"name": "get_search_searchTerm",
"outputSchema": null
},
{
"description": "Get twitter trends for worldwide or a specific region. Billing per call: 1 Credits.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"locationId": {
"type": "string"
}
},
"required": [
"locationId"
],
"type": "object"
},
"name": "get_trends_locationId",
"outputSchema": null
},
{
"description": "Receive all tweet informations and comments by tweetId. ⚠️ For large cursors (many replies you want to fetch) you can use the POST-request to be not limited by the GET-request length limit. Group: Tweet. Billing per call: 1 Credits.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"tweetId": {
"type": "string"
}
},
"required": [
"tweetId"
],
"type": "object"
},
"name": "get_tweet_tweetId",
"outputSchema": null
},
{
"description": "Receive all likes for a tweet. Group: Tweet. Billing per call: 1 Credits.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"count": {
"description": "The default count is 20. You can specify a custom one here.",
"example": "20",
"type": "string"
},
"cursor": {
"description": "At the end of the entries array you'll find two objects with the type TimelineTimelineCursor. There is one cursor to go up (Top) and one for going down (bottom) the list.",
"type": "string"
},
"tweetId": {
"type": "string"
}
},
"required": [
"tweetId"
],
"type": "object"
},
"name": "get_tweet_tweetId_favorites",
"outputSchema": null
},
{
"description": "Receive all retweets for a tweet. Group: Tweet. Billing per call: 1 Credits.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"count": {
"example": "20",
"type": "string"
},
"cursor": {
"type": "string"
},
"tweetId": {
"type": "string"
}
},
"required": [
"tweetId"
],
"type": "object"
},
"name": "get_tweet_tweetId_retweets",
"outputSchema": null
},
{
"description": "Receive follower counts, images and more user related data with this endpoint. Group: User. Billing per call: 1 Credits.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"username": {
"type": "string"
}
},
"required": [
"username"
],
"type": "object"
},
"name": "get_user_by_username_username",
"outputSchema": null
},
{
"description": "This is the prefered method of getting any information. Receive follower counts, images and more user related data with this endpoint. Group: User. Billing per call: 1 Credits.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"userId": {
"type": "string"
}
},
"required": [
"userId"
],
"type": "object"
},
"name": "get_user_userId",
"outputSchema": null
},
{
"description": "Receive all followers of a user. You can use the cursor and count to navigate around. Group: User. Billing per call: 1 Credits.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"count": {
"description": "The default count is 20. You can specify a custom one here.",
"example": "20",
"type": "string"
},
"cursor": {
"description": "At the end of the entries array you'll find two objects with the type TimelineTimelineCursor. There is one cursor to go up (Top) and one for going down (bottom) the list.",
"type": "string"
},
"userId": {
"type": "string"
},
"username": {
"description": "If you provide a username value it will automatically be picked and the userId is ignored",
"type": "string"
}
},
"required": [
"userId"
],
"type": "object"
},
"name": "get_user_userId_followers",
"outputSchema": null
},
{
"description": "Receive all followings of a user. You can use the cursor and count to navigate around. Group: User. Billing per call: 1 Credits.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"count": {
"description": "The default count is 20. You can specify a custom one here.",
"example": "20",
"type": "string"
},
"cursor": {
"description": "At the end of the entries array you'll find two objects with the type TimelineTimelineCursor. There is one cursor to go up (Top) and one for going down (bottom) the list.",
"type": "string"
},
"userId": {
"type": "string"
},
"username": {
"description": "If you provide a username value it will automatically be picked and the userId is ignored",
"type": "string"
}
},
"required": [
"userId"
],
"type": "object"
},
"name": "get_user_userId_followings",
"outputSchema": null
},
{
"description": "You'll receive a basic list of all followings a user has. Please provide only the userId and you'll receive the following followings data: id, username, createdDate, followings, followers. Group: User. Billing per call: 1 Credits.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"userId": {
"type": "string"
},
"username": {
"description": "If you provide a username value it will automatically be picked and the userId is ignored",
"example": "elonmusk",
"title": "username",
"type": "string"
}
},
"required": [
"userId"
],
"type": "object"
},
"name": "get_user_userId_followings_basic",
"outputSchema": null
},
{
"description": "Get the ids of the users a certain user follows Group: User. Billing per call: 1 Credits.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"count": {
"example": "20",
"type": "string"
},
"cursor": {
"type": "string"
},
"userId": {
"type": "string"
},
"username": {
"example": "spacex",
"type": "string"
}
},
"required": [
"userId"
],
"type": "object"
},
"name": "get_user_userId_followings_ids",
"outputSchema": null
},
{
"description": "Receive all likes of a user. You can use the cursor and count to navigate around. Group: User. Billing per call: 1 Credits.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"userId": {
"type": "string"
}
},
"required": [
"userId"
],
"type": "object"
},
"name": "get_user_userId_likes",
"outputSchema": null
},
{
"description": "Receive all media items ordered by most recent. You can use the cursor and count to navigate around. Group: User. Billing per call: 1 Credits.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"userId": {
"type": "string"
}
},
"required": [
"userId"
],
"type": "object"
},
"name": "get_user_userId_media",
"outputSchema": null
},
{
"description": "Receive all tweets ordered by most recent. You can use the cursor and count to navigate around. Group: User. Billing per call: 1 Credits.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"count": {
"description": "The default count is 20. You can specify a custom one here.",
"example": "20",
"title": "count",
"type": "string"
},
"cursor": {
"description": "At the end of the entries array you'll find two objects with the type TimelineTimelineCursor. There is one cursor to go up (Top) and one for going down (bottom) the list.",
"title": "cursor",
"type": "string"
},
"userId": {
"type": "string"
},
"username": {
"description": "If you provide a username value it will automatically be picked and the userId is ignored. Best is to set userId to -1",
"title": "username",
"type": "string"
}
},
"required": [
"userId"
],
"type": "object"
},
"name": "get_user_userId_tweets",
"outputSchema": null
},
{
"description": "Receive all tweets and replies ordered by most recent. You can use the cursor and count to navigate around. Group: User. Billing per call: 1 Credits.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"count": {
"description": "The default count is 20. You can specify a custom one here.",
"example": "20",
"title": "count",
"type": "string"
},
"cursor": {
"description": "At the end of the entries array you'll find two objects with the type TimelineTimelineCursor. There is one cursor to go up (Top) and one for going down (bottom) the list.",
"title": "cursor",
"type": "string"
},
"userId": {
"type": "string"
},
"username": {
"description": "If you provide a username value it will automatically be picked and the userId is ignored",
"title": "username",
"type": "string"
}
},
"required": [
"userId"
],
"type": "object"
},
"name": "get_user_userId_tweetsAndReplies",
"outputSchema": null
},
{
"description": "This endpoint receives a list of usernames and converts up to 100 of them at the same time to ids. Group: ✨ Exclusive endpoints. Billing per call: 1 Credits.",
"inputSchema": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"name": "get_user_usernames_to_ids",
"outputSchema": null
},
{
"description": "You'll need the userId to receive tweets, media and replies. Group: Utilities/Misc. Billing per call: 1 Credits.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"username": {
"type": "string"
}
},
"required": [
"username"
],
"type": "object"
},
"name": "get_username_to_id_username",
"outputSchema": null
},
{
"description": "With the search endpoint you can search all of twitter. You just need to provide a search term. This is the POST-request which allows you to send larger requests. Group: Utilities/Misc. Billing per call: 1 Credits.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"searchTerm": {
"type": "string"
}
},
"required": [
"searchTerm"
],
"type": "object"
},
"name": "post_search_searchTerm",
"outputSchema": null
},
{
"description": "Receive all tweet informations and comments by tweetId. This POST-request allows you to dig deeper into the replies when the cursor is growing. Group: Utilities/Misc. Billing per call: 1 Credits.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"tweetId": {
"type": "string"
}
},
"required": [
"tweetId"
],
"type": "object"
},
"name": "post_tweet_tweetId",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:86191659d95bcc3da6e6501920d804952ba26b28d8c17e2055856fb521f64953 | sha256sum