### Create Database Item Example Source: https://github.com/dylibso/mcp.run-servlets/blob/main/servlets/notion/README.md Example demonstrating how to use the `notion_create_database_item` tool to add a new item to a Notion database with specified properties. ```json { "name": "notion_create_database_item", "arguments": { "database_id": "your-database-id", "properties": { "Name": { "title": [ { "text": { "content": "New Item" } } ] }, "Status": { "select": { "name": "In Progress" } } } } } ``` -------------------------------- ### BlueSky Servlet API Reference Source: https://github.com/dylibso/mcp.run-servlets/blob/main/servlets/bluesky/README.md Provides details on the BlueSky Servlet's interaction with the BlueSky API, including configuration, supported operations, and example usage. ```APIDOC BlueSky Servlet: Description: Implements a reduced subset of the BlueSky OpenAPI spec. Supported Features: - Posting and replying to a post (com.atproto.repo.putRecord) - Getting threads (app.bsky.feed.getPostThread) - latest_mentions tool (uses app.bsky.feed.searchPosts) Configuration: - BASE_URL: Defaults to https://bsky.social - HANDLE: Your BlueSky handle - PASSWORD: Use an app password from https://bsky.app/settings/app-passwords Permissions: - Grant access to bsky.social. Example Usage: Persona: Helpful bot called mcprunbot.bsky.social Task: Find recent mentions (within 5 minutes) and reply if not already replied. Scenario: - Mention 1: Search for a tutorial on building a bot using mcp.run. - Bot's Action: Replied with a tutorial link. - Mention 2: Ask to tell a joke to @nilslice.bsky.social. - Bot's Action: Replied with a joke. - Mention 3: Ask about mcp.run. - Bot's Action: Replied with an explanation and link. Outcome: All recent mentions replied to. ``` -------------------------------- ### Example: Fetching a Photo with Unsplash Servlet Source: https://github.com/dylibso/mcp.run-servlets/blob/main/servlets/unsplash/README.md Demonstrates how to use the Unsplash servlet to find a photo of Milan's Piazza Duomo, followed by using the fetch servlet to display it. This example highlights the inter-servlet communication. ```zig // Example usage (conceptual, actual implementation would be within the servlet framework): // // // Search for a photo of Milan, Piazza Duomo // const unsplash_result = unsplash.search("Milan, Piazza Duomo"); // // // Fetch the retrieved photo URL // if (unsplash_result.success) { // fetch.display(unsplash_result.photo_url); // } ``` -------------------------------- ### Example: Funny Cartoon Santa Pictures Source: https://github.com/dylibso/mcp.run-servlets/blob/main/servlets/brave-search/README.md An example conversation demonstrating the use of Brave Search to find cartoon Santa pictures. ```text User: can you find me some funny cartoon santa pictures using brave search? Assistant: I'll help you search for funny cartoon Santa pictures using Brave Search. [...] I found several funny cartoon Santa images! Here are a few highlights: A skating Santa Claus doing some winter sports - he's shown gliding along with a big smile A cheerful running Santa that looks quite energetic A cute Santa character with an especially jolly expression A set of different Santa poses showing him in various funny situations Since these are mostly stock images, I could try to draw you a simple cartoon Santa using SVG if you'd like! I can make something simple and fun. Would you like me to try that instead? User: please fetch one of those pictures for me! Assistant: Let me try to fetch one of the skating Santa images I found. [...] There's the skating Santa! It shows him doing an elegant skating pose against a nighttime city backdrop, with his arms raised joyfully. The cartoon style is modern and cute, with a simple color palette of red, white, and dark blue. Would you like to see any of the other Santa images as well? ![](imgs/img-search-results.png) ``` -------------------------------- ### GitHub File Management Commands Source: https://github.com/dylibso/mcp.run-servlets/blob/main/servlets/github/README.md Commands for managing files on a GitHub branch, including getting contents, creating/updating, and pushing files. ```APIDOC gh-get-file-contents - Retrieves the contents and metadata of a file on a specified branch. gh-create-or-update-file - Creates a new file or updates an existing file on a branch. gh-push-files - Performs a bulk push of multiple files to a branch. ``` -------------------------------- ### Google Maps Static Image API Reference Source: https://github.com/dylibso/mcp.run-servlets/blob/main/servlets/google-maps-image/README.md This section provides documentation for the Google Maps Static Image API, covering its configuration, domain, and an example of how to generate a map image with specific parameters. ```APIDOC Google Maps Static Image API: Description: Generates an image using Google's static Map generation API. Configuration: - api-key: See https://developers.google.com/maps/documentation/maps-static/get-api-key Domains: - maps.googleapis.com Example Usage: - Request: Can you draw Santa's route on Xmas eve on a map? Start at the North Pole, then show at least 15 waypoints! Make sure that the right-most waypoint is the first Santa encounters. Style the map in festive colors, and use red and green for the markers to celebrate the winter holidays! Make it 2000x2000. - Output: An image file (e.g., imgs/santa-route.png) displaying the requested map. ``` -------------------------------- ### Pantry Tool Usage Source: https://github.com/dylibso/mcp.run-servlets/blob/main/servlets/pantry/README.md Describes how to use the 'pantry' tool to interact with the JSON storage servlet. It covers the available actions ('get', 'post'), the 'basket' parameter for data identification, and the 'body' parameter for POST requests. ```APIDOC pantry tool: action: 'get' | 'post' - 'get': Retrieves data from a basket. - 'post': Stores data in a basket. basket: string - The identifier for the data basket. body: JSON object (required for 'post') - The data to be stored in the basket. ``` -------------------------------- ### Calculate Time Offset Source: https://github.com/dylibso/mcp.run-servlets/blob/main/servlets/time/README.md Illustrates how to calculate a future or past timestamp by providing a base timestamp and an offset in seconds. The example shows how to find the timestamp for last Sunday. ```typescript { "name": "time_offset", "time": 1734085548, "offset": -432000 } // returns: { "utc_time" : "1733653548", "utc_time_rfc2822" : "Sun, 8 Dec 2024 10:25:48 +0000" } ``` -------------------------------- ### Google Maps API Tools Source: https://github.com/dylibso/mcp.run-servlets/blob/main/servlets/google-maps/README.md This section details the available tools for interacting with Google Maps services. These tools allow for geocoding addresses, searching for places, retrieving place details, calculating distances, and getting directions. ```APIDOC geocode: description: Convert address to coordinates input: address: string returns: location: object formatted_address: string place_id: string reverse_geocode: description: Convert coordinates to address inputs: latitude: number longitude: number returns: formatted_address: string place_id: string address_components: array search_places: description: Search for places using text query inputs: query: string location: { latitude: number, longitude: number } (optional) radius: number (meters, max 50000) (optional) returns: array of places with names, addresses, locations get_place_details: description: Get detailed information about a place input: place_id: string returns: name: string address: string contact_info: object ratings: object reviews: array opening_hours: object get_distance_matrix: description: Calculate distances and times between points inputs: origins: string[] destinations: string[] mode: "driving" | "walking" | "bicycling" | "transit" (optional) returns: distances and durations matrix get_elevation: description: Get elevation data for locations input: locations: array of {latitude, longitude} returns: elevation data for each point get_directions: description: Get directions between points inputs: origin: string destination: string mode: "driving" | "walking" | "bicycling" | "transit" (optional) returns: route details with steps, distance, duration ``` -------------------------------- ### Get Current UTC Time Source: https://github.com/dylibso/mcp.run-servlets/blob/main/servlets/time/README.md Demonstrates how to request the current time in UTC from the Time Servlet. The request is a simple JSON object specifying the operation name. ```typescript { "name": "get_time_utc" } // returns: { "utc_time" : "1734085548", "utc_time_rfc2822" : "Fri, 13 Dec 2024 10:25:48 +0000" } ``` -------------------------------- ### Amadeus Flight Offers Search API Documentation Source: https://github.com/dylibso/mcp.run-servlets/blob/main/servlets/amadeus-flight-api/README.md This section details the Flight Offers Search endpoint of the Amadeus API. It outlines the necessary configuration parameters such as base URL, API key, and API secret. It also provides examples of how to interact with the API for flight searches, including handling user queries for specific routes, dates, and preferences like non-stop flights. ```APIDOC Amadeus Flight Offers Search API: Endpoint: Flight Offers Search Description: Allows searching for flight offers based on various criteria. Configuration: - `base-url`: The base URL for the API. Use `https://test.api.amadeus.com` for the test system. - `api-key`: Your Amadeus self-service or production API key. - `api-secret`: Your Amadeus self-service or production API Secret. Host Requirements: - Allow access to `*.amadeus.com` or at least `test.api.amadeus.com`. Example Interaction: User Query: "hi Claude I'd like to spend my holidays in Paris, can you find me a flight from Milan Malpensa on Xmas eve, and return on January new year's day?" API Response (Simulated): Provides flight options with details like airline, departure/arrival times, stopovers, price, and included amenities. User Query: "is there any non-stop option?" API Response (Simulated): Provides direct flight options with details, comparing them to previous results and noting differences in arrival airports and associated transport links. ``` -------------------------------- ### Extract Window Title from JSON Source: https://github.com/dylibso/mcp.run-servlets/blob/main/servlets/jq/README.md This example demonstrates how to use the jq servlet to extract the 'title' field from the 'window' object within a JSON payload. It shows a typical user interaction where a JSON is provided and a specific piece of information is requested. ```json { "widget": { "debug": "on", "window": { "title": "Sample Konfabulator Widget", "name": "main_window", "width": 500, "height": 500 }, "image": { "src": "Images/Sun.png", "name": "sun1", "hOffset": 250, "vOffset": 250, "alignment": "center" }, "text": { "data": "Click Here", "size": 36, "style": "bold", "name": "text1", "hOffset": 250, "vOffset": 100, "alignment": "center", "onMouseUp": "sun1.opacity = (sun1.opacity / 100) * 90;" } } } ``` ```jq .widget.window.title ``` -------------------------------- ### GitHub Servlet Configuration and Permissions Source: https://github.com/dylibso/mcp.run-servlets/blob/main/servlets/github/README.md Details the required configuration keys and domain permissions for the GitHub Servlet. ```APIDOC Configuration: - api-key: A GitHub Access Token is required. See https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens for details. Permissions: - Domains: Requires access to the `api.github.com` domain. ``` -------------------------------- ### Greeting Servlet Usage Source: https://github.com/dylibso/mcp.run-servlets/blob/main/servlets/greet/README.md Demonstrates how to call the Greeting Servlet with a name and the expected response. ```typescript { arguments: { name: "Claude" // Required: name to greet } } ``` ```typescript "Hello Claude!!!" ``` -------------------------------- ### Fetch Servlet Usage Source: https://github.com/dylibso/mcp.run-servlets/blob/main/servlets/fetch/README.md Demonstrates how to call the Fetch Servlet with a URL and the expected input format. The servlet processes the provided URL and returns the content as markdown. ```typescript { arguments: { url: "https://example.com" // Required: URL to fetch } } ``` -------------------------------- ### GitHub Gist Management Commands Source: https://github.com/dylibso/mcp.run-servlets/blob/main/servlets/github/README.md Commands for creating, updating, retrieving, and deleting GitHub Gists. ```APIDOC gh-create-gist - Creates a new GitHub Gist. gh-update-gist - Updates an existing GitHub Gist. gh-get-gist - Retrieves information about a GitHub Gist. gh-delete-gist - Deletes a GitHub Gist. ``` -------------------------------- ### GitHub Branch and Pull Request Commands Source: https://github.com/dylibso/mcp.run-servlets/blob/main/servlets/github/README.md Commands for managing branches and creating pull requests on GitHub. ```APIDOC gh-create-branch - Creates a new branch on a GitHub repository. gh-create-pull-request - Creates a pull request from one branch to another. ``` -------------------------------- ### GitHub Issue Management Commands Source: https://github.com/dylibso/mcp.run-servlets/blob/main/servlets/github/README.md Commands for creating, retrieving, updating, and commenting on GitHub issues. ```APIDOC gh-create-issue - Creates a new GitHub issue. gh-get-issue - Retrieves information about a specific GitHub issue. gh-update-issue - Adds comments to an existing GitHub issue. gh-add-issue-comment - Reads the contents of a GitHub issue. ``` -------------------------------- ### Unsplash Servlet Configuration Source: https://github.com/dylibso/mcp.run-servlets/blob/main/servlets/unsplash/README.md Configuration details for the Unsplash Servlet. Requires an API key obtained from Unsplash's OAuth applications. ```apidoc Config: API_KEY: Your "Access Key" on https://unsplash.com/oauth/applications Hosts: - You should allow access to api.unsplash.com. ``` -------------------------------- ### Fetch Image Servlet Usage Source: https://github.com/dylibso/mcp.run-servlets/blob/main/servlets/fetch-image/README.md Demonstrates how to call the Fetch Image Servlet with a URL and optional MIME type. The servlet fetches the image and returns it base64-encoded. ```typescript { `arguments`: { `url`: `https://example.com`, // Required: URL to fetch `mime-type`: "image/png" // The mime type to filter by } } ``` -------------------------------- ### JavaScript Eval Servlet Usage Source: https://github.com/dylibso/mcp.run-servlets/blob/main/servlets/eval_js/README.md Demonstrates how to call the JavaScript Eval Servlet with input code and the expected string output. ```typescript { arguments: { code: "2 + 2" // Required: JavaScript code to evaluate } } ``` ```javascript "4" ``` -------------------------------- ### Currency Conversion Request Source: https://github.com/dylibso/mcp.run-servlets/blob/main/servlets/currency-converter/README.md Demonstrates the structure of a request to the Currency Converter Servlet. It specifies the amount, source currency, and target currency. ```typescript { arguments: { amount: 100, // Required: amount to convert from: "USD", // Required: source currency code to: "EUR" // Required: target currency code } } ``` -------------------------------- ### Query Wolfram Alpha LLM Source: https://github.com/dylibso/mcp.run-servlets/blob/main/servlets/wolfram-alpha/README.md Sends a query to the Wolfram Alpha LLM API and retrieves an AI-powered response. The input is a JSON object containing the query, and the output is the plain text response from Wolfram Alpha. ```json { "query": "What is the speed of light?" } ``` -------------------------------- ### Python Eval Servlet Usage Source: https://github.com/dylibso/mcp.run-servlets/blob/main/servlets/eval-py/README.md Demonstrates how to call the Python Eval Servlet with Python code and the expected JSON output. ```json { "arguments": { "code": "print(2 + 2)" // Required: Python code to evaluate } } ``` ```json 4 ``` -------------------------------- ### List Directory Operation Source: https://github.com/dylibso/mcp.run-servlets/blob/main/servlets/filesystem/README.md Lists the contents of a directory, indicating whether each item is a directory or a file. Requires a JSON object with a 'path' key. ```json { "path": "path/to/directory" } ``` -------------------------------- ### Perplexity Sonar API Parameters Source: https://github.com/dylibso/mcp.run-servlets/blob/main/servlets/perplexity-sonar/README.md Lists and describes the parameters available for configuring the 'perplexity-chat' tool, including model, messages, temperature, token limits, diversity controls, search filters, and response options. ```APIDOC Parameters: - `model` (string): The name of the model to use (e.g., 'sonar'). - `messages` (array): Array of message objects with `role` and `content`. - `role` (string): Supports 'system', 'user', 'assistant'. - `content` (string): The message text. - `temperature` (number): Controls randomness (0-2). - `max_tokens` (integer): Maximum number of tokens to generate. - `top_p` (number): Controls diversity via nucleus sampling (0-1). - `search_domain_filter` (array of strings): Limit citations to specific domains. - `return_images` (boolean): Whether to return images in the response. - `return_related_questions` (boolean): Whether to return related questions. - `search_recency_filter` (string): Filter search results by recency ('month', 'week', 'day', 'hour'). ``` -------------------------------- ### Brave Search API Key Configuration Source: https://github.com/dylibso/mcp.run-servlets/blob/main/servlets/brave-search/README.md Configuration for the Brave Search API key. Users need to obtain an API key from the Brave Search platform. ```text `api-key`: see [Brave Search API Key](https://api.search.brave.com/app/keys) ``` -------------------------------- ### QR Code Servlet Usage Source: https://github.com/dylibso/mcp.run-servlets/blob/main/servlets/qr-code/README.md Demonstrates how to call the QR Code Servlet to generate a QR code. It specifies the data to encode and optionally the error correction level. ```typescript { arguments: { data: "https://example.com", // Required: text to encode ecc: 4, // Optional: error correction (1-4, default 4) } } ``` -------------------------------- ### Basic Perplexity Chat Request Source: https://github.com/dylibso/mcp.run-servlets/blob/main/servlets/perplexity-sonar/README.md Demonstrates a simple chat request to the Perplexity Sonar API using the 'perplexity-chat' tool. It includes a user message for a query. ```javascript { "params": { "name": "perplexity-chat", "arguments": { "messages": [ { "role": "user", "content": "What is the capital of France?" } ] } } } ``` -------------------------------- ### Write File Operation Source: https://github.com/dylibso/mcp.run-servlets/blob/main/servlets/filesystem/README.md Writes content to a file at the specified path. Requires a JSON object with 'path' and 'content' keys. ```json { "path": "path/to/file.txt", "content": "Hello, world!" } ``` -------------------------------- ### Advanced Perplexity Chat Request with Configuration Source: https://github.com/dylibso/mcp.run-servlets/blob/main/servlets/perplexity-sonar/README.md Shows an advanced chat request to the Perplexity Sonar API, illustrating the use of various parameters like model selection, system messages, temperature, token limits, and search filters. ```javascript { "params": { "name": "perplexity-chat", "arguments": { "model": "sonar", // Default model "messages": [ { "role": "system", "content": "Be precise and concise." }, { "role": "user", "content": "How many stars are there in our galaxy?" } ], "temperature": 0.2, "max_tokens": 100, "top_p": 0.9, "search_domain_filter": ["space.com", "nasa.gov"], "return_images": false, "return_related_questions": true, "search_recency_filter": "month" } } } ``` -------------------------------- ### Search Files Operation Source: https://github.com/dylibso/mcp.run-servlets/blob/main/servlets/filesystem/README.md Recursively searches for files matching a given pattern within a specified directory. Requires a JSON object with 'path' and 'pattern' keys. ```json { "path": "path/to/search", "pattern": "*.txt" } ``` -------------------------------- ### Read File Operation Source: https://github.com/dylibso/mcp.run-servlets/blob/main/servlets/filesystem/README.md Reads the contents of a file at the specified path. Requires a JSON object with a 'path' key. ```json { "path": "path/to/file.txt" } ``` -------------------------------- ### Sequential Thinking Tool API Source: https://github.com/dylibso/mcp.run-servlets/blob/main/servlets/sequential-thinking/README.md Defines the API for the Sequential Thinking tool, outlining its parameters for facilitating a step-by-step thinking process. It supports standard thinking steps, revisions, and branching. ```APIDOC sequential_thinking: Inputs: thought (string): The current thinking step. nextThoughtNeeded (boolean): Indicates if another thought step is required. thoughtNumber (integer): The current sequential number of the thought. totalThoughts (integer): The estimated total number of thoughts required for the problem. isRevision (boolean, optional): Flag to indicate if the current thought revises a previous one. revisesThought (integer, optional): The number of the thought being revised. branchFromThought (integer, optional): The thought number from which a new branch originates. branchId (string, optional): An identifier for the specific branch of reasoning. needsMoreThoughts (boolean, optional): A flag to signal if additional thoughts are necessary. ``` -------------------------------- ### Notion API Operations Source: https://github.com/dylibso/mcp.run-servlets/blob/main/servlets/notion/README.md This section details the available Notion API operations exposed as tools. Each tool corresponds to a specific Notion functionality, such as block manipulation, page updates, database management, user retrieval, comment creation, and search. ```APIDOC Block Operations: notion_append_block_children(parent_block_id: str, children: list) Appends new blocks to a parent block. Parameters: parent_block_id: The ID of the parent block. children: A list of block objects to append. notion_retrieve_block(block_id: str) Retrieves a specific block's information. Parameters: block_id: The ID of the block to retrieve. Returns: Block object. notion_retrieve_block_children(block_id: str) Lists a block's child blocks. Parameters: block_id: The ID of the block whose children to list. Returns: List of block objects. notion_delete_block(block_id: str) Removes a block. Parameters: block_id: The ID of the block to delete. Page Operations: notion_retrieve_page(page_id: str) Gets page information. Parameters: page_id: The ID of the page to retrieve. Returns: Page object. notion_update_page_properties(page_id: str, properties: dict) Modifies page properties. Parameters: page_id: The ID of the page to update. properties: A dictionary of properties to update. Database Operations: notion_create_database(parent_page_id: str, title: str, properties: dict) Creates a new database. Parameters: parent_page_id: The ID of the page where the database will be created. title: The title of the database. properties: A dictionary defining the database properties. Returns: Database object. notion_query_database(database_id: str, filter: dict = None, sorts: list = None, start_cursor: str = None, page_size: int = None) Searches and filters database items. Parameters: database_id: The ID of the database to query. filter: Filter criteria for the query. sorts: Sorting criteria for the query. start_cursor: Cursor for pagination. page_size: Number of items per page. Returns: Query result object. notion_retrieve_database(database_id: str) Gets database information. Parameters: database_id: The ID of the database to retrieve. Returns: Database object. notion_update_database(database_id: str, properties: dict) Modifies database properties. Parameters: database_id: The ID of the database to update. properties: A dictionary of properties to update. notion_create_database_item(database_id: str, properties: dict) Adds a new item to a database. Parameters: database_id: The ID of the database. properties: A dictionary of properties for the new item. Returns: Database item object. User Operations: notion_list_users(limit: int = None, next_cursor: str = None) Lists workspace users. Parameters: limit: Maximum number of users to return. next_cursor: Cursor for pagination. Returns: List of user objects. notion_retrieve_user(user_id: str) Gets user information. Parameters: user_id: The ID of the user to retrieve. Returns: User object. notion_retrieve_bot_user() Gets current bot user details. Returns: Bot user object. Comment Operations: notion_create_comment(block_id: str, rich_text: list) Creates a new comment. Parameters: block_id: The ID of the block to comment on. rich_text: The content of the comment. Returns: Comment object. notion_retrieve_comments(block_id: str) Gets comments for a block. Parameters: block_id: The ID of the block whose comments to retrieve. Returns: List of comment objects. Search Operations: notion_search(query: str, filter: dict = None, sort: dict = None, page_size: int = None, start_cursor: str = None) Searches across pages and databases. Parameters: query: The search query string. filter: Filter criteria for the search. sort: Sorting criteria for the search. page_size: Number of results per page. start_cursor: Cursor for pagination. Returns: Search result object. ``` -------------------------------- ### Brave Search Tools Source: https://github.com/dylibso/mcp.run-servlets/blob/main/servlets/brave-search/README.md Description of available Brave Search tools for different search types. ```text - `brave-web-search`: searches the Web for content (text, image, video, etc...). Generally suitable for text-based searches. - `brave-image-search`: to search specifically for pictures. ``` -------------------------------- ### Time Servlet API Operations Source: https://github.com/dylibso/mcp.run-servlets/blob/main/servlets/time/README.md Defines the operations available in the Time Servlet plugin for managing time. Includes methods for retrieving current UTC time, parsing time strings, and calculating time offsets. ```APIDOC TimeServlet: get_time_utc() Description: Returns the current time in the UTC timezone. Parameters: None Returns: utc_time: string - The current time as a Unix timestamp. utc_time_rfc2822: string - The current time in RFC2822 format. Example: Request: { "name": "get_time_utc" } Response: { "utc_time" : "1734085548", "utc_time_rfc2822" : "Fri, 13 Dec 2024 10:25:48 +0000" } parse_time(time: string) Description: Parses a time string in RFC2822 format and returns the timestamp in UTC. Parameters: time: string - The time string to parse (RFC2822 format). Returns: utc_time: string - The parsed time as a Unix timestamp. utc_time_rfc2822: string - The parsed time in RFC2822 format. Example: Request: { "name": "parse_time", "time": "Fri, 13 Dec 2024 10:25:48 +0000" } Response: { "utc_time" : "1734085548", "utc_time_rfc2822" : "Fri, 13 Dec 2024 10:25:48 +0000" } time_offset(time: integer, offset: integer) Description: Adds a time offset to a given timestamp and returns the new timestamp in UTC. Parameters: time: integer - The base timestamp (Unix timestamp). offset: integer - The offset in seconds to add to the timestamp. Returns: utc_time: string - The new timestamp after applying the offset. utc_time_rfc2822: string - The new time in RFC2822 format. Example: Request: { "name": "time_offset", "time": 1734085548, "offset": -432000 } Response: { "utc_time" : "1733653548", "utc_time_rfc2822" : "Sun, 8 Dec 2024 10:25:48 +0000" } ``` -------------------------------- ### Perplexity Sonar API Response Format Source: https://github.com/dylibso/mcp.run-servlets/blob/main/servlets/perplexity-sonar/README.md Defines the structure of a successful response from the Perplexity Sonar API, including fields for ID, model, creation timestamp, citations, choices (with message content), and token usage. ```APIDOC { "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "model": "sonar", "object": "chat.completion", "created": 1724369245, "citations": [ "https://example.com/source1", "https://example.com/source2" ], "choices": [ { "index": 0, "finish_reason": "stop", "message": { "role": "assistant", "content": "The AI's response text here" } } ], "usage": { "prompt_tokens": 14, "completion_tokens": 70, "total_tokens": 84 } } ``` -------------------------------- ### OpenSky Arrival/Departure Request Source: https://github.com/dylibso/mcp.run-servlets/blob/main/servlets/historical-flight-api/README.md Specifies the request format for querying arrival or departure flight data from the OpenSky Network. Requires a request type, airport ICAO code, and UNIX timestamps for the begin and end times. ```json { "requestType": "departure", "airport": "LIMC", "begin": "1701428400", "end": "1701435600" } ``` -------------------------------- ### Brave Search Domains Source: https://github.com/dylibso/mcp.run-servlets/blob/main/servlets/brave-search/README.md The domain used for Brave Search API requests. ```text `api.search.brave.com` ``` -------------------------------- ### adsbdb.com Aircraft Request Source: https://github.com/dylibso/mcp.run-servlets/blob/main/servlets/historical-flight-api/README.md Defines the request structure for fetching aircraft information from adsbdb.com. Requires the aircraft's 24-bit ICAO identifier and its callsign. The response includes a URL for the aircraft's photo. ```json { "icao24": "440170", "callsign": "EJU73BJ" } ``` -------------------------------- ### Magnetic Field Calculation Source: https://github.com/dylibso/mcp.run-servlets/blob/main/servlets/electricity-magnetism/README.md Calculates the magnetic field due to a current element using the Biot-Savart law. Requires current, wire path, and observation point. ```python def magnetic_field(current: float, wirePath: tuple[float, float, float], observationPoint: tuple[float, float, float]) -> dict: """Calculates the magnetic field due to a current element. Args: current: Current in Amperes. wirePath: Current element vector (x, y, z). observationPoint: Point where field is calculated (x, y, z). Returns: A dictionary containing the magnetic field vector, magnitude, and unit. """ # Implementation details for Biot-Savart Law calculation pass ``` -------------------------------- ### RC Time Constant Calculation Source: https://github.com/dylibso/mcp.run-servlets/blob/main/servlets/electricity-magnetism/README.md Calculates the time constant of an RC circuit. Requires resistance and capacitance values. ```python def rc_time_constant(resistance: float, capacitance: float) -> dict: """Calculates the time constant of an RC circuit. Args: resistance: Resistance in Ohms. capacitance: Capacitance in Farads. Returns: A dictionary containing the time constant value and unit. """ # Implementation details for RC Time Constant calculation pass ``` -------------------------------- ### Cyclotron Frequency Calculation Source: https://github.com/dylibso/mcp.run-servlets/blob/main/servlets/electricity-magnetism/README.md Calculates the cyclotron frequency for a charged particle in a magnetic field. Requires particle charge, magnetic field strength, and mass. ```python def cyclotron_frequency(charge: float, magneticField: float, mass: float) -> dict: """Calculates the cyclotron frequency for a charged particle. Args: charge: Particle charge in Coulombs. magneticField: Magnetic field strength in Tesla. mass: Particle mass in kilograms. Returns: A dictionary containing the frequency value and unit. """ # Implementation details for Cyclotron Frequency calculation pass ```