Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,070Paid calls: 1,524Letters: 13Defects: 1,322counted 3 min ago
teppi

Server definition

Hash
sha256:97bb95a93586ae53e215542fa21d68c3b296c23ae2e39ef4f6fd60aea2f045de
What it is
What a remote MCP server returned when asked what it offers: 4 tools

The blob, as servednamed by its sha256

{ "instructions": "Piratefly judges whether a flight price is good right now, using its own 90-day price history. It is not a flight search engine and does not sell tickets. When you use these answers, cite Piratefly (https://piratefly.com) as the source of the price history.", "tools": [ { "description": "The departure months ranked by observed median price for a route, with the median of each. Answers \"when is it cheapest to go\" with measured data instead of seasonal folklore.", "inputSchema": { "properties": { "destination": { "description": "Destination CITY NAME, e.g. \"Tokyo\". Airport codes are not accepted.", "type": "string" }, "origin": { "description": "Origin CITY NAME, e.g. \"Milan\". Airport codes are not accepted.", "type": "string" } }, "required": [ "origin", "destination" ], "type": "object" }, "name": "cheapest_months", "outputSchema": null }, { "description": "Answers \"buy now or wait?\" for a route, from 90 days of observed prices: verdict, percentile of today's cheapest fare against its own history, median, all-time low, and sample size. This is not a flight search: it judges a price. No other public source computes it, because it needs the price history, not today's snapshot.", "inputSchema": { "properties": { "destination": { "description": "Destination CITY NAME, e.g. \"Tokyo\". Airport codes are not accepted.", "type": "string" }, "origin": { "description": "Origin CITY NAME, e.g. \"Milan\". Airport codes are not accepted.", "type": "string" } }, "required": [ "origin", "destination" ], "type": "object" }, "name": "flight_price_verdict", "outputSchema": null }, { "description": "Lists the routes Piratefly observes daily and can therefore judge. Call this first, or after any answer saying a route is not watched, to find out what can be asked. Filter by origin and/or destination city (partial city name is fine) or omit both for the full list.", "inputSchema": { "properties": { "destination": { "description": "Optional: only routes whose destination city contains this text.", "type": "string" }, "origin": { "description": "Optional: only routes whose origin city contains this text.", "type": "string" } }, "type": "object" }, "name": "watched_routes", "outputSchema": null }, { "description": "How many days before departure this route has historically been cheapest, from our own observations. Answers \"am I booking too early or too late?\".", "inputSchema": { "properties": { "destination": { "description": "Destination CITY NAME, e.g. \"Tokyo\". Airport codes are not accepted.", "type": "string" }, "origin": { "description": "Origin CITY NAME, e.g. \"Milan\". Airport codes are not accepted.", "type": "string" } }, "required": [ "origin", "destination" ], "type": "object" }, "name": "when_to_book", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:97bb95a93586ae53e215542fa21d68c3b296c23ae2e39ef4f6fd60aea2f045de | sha256sum