{"schema_version":"1.0","name":"agent-utility-mcp","title":"Agent Utility MCP","description":"General-purpose MCP server with bounded web, text, JSON, encoding, hashing, identifier, time, and calculation utilities.","version":"3.0.0","author":"Seth Staples","endpoint":"https://virtualairlinemanager.com/mcp","transport":"streamable-http","protocol_versions":["2025-06-18","2025-03-26"],"authentication":{"type":"api_key","headers":["X-API-Key","Authorization: Bearer token"],"discovery_public":true},"pricing":{"currency":"USD","paid_tool_count":85,"free_tool_count":15,"price_per_successful_tool_execution":0.01,"batch_price_per_successful_page":0.01,"free_tools":["usage_status","text_analyze","text_transform","text_count","json_inspect","json_path","encode_data","base64_url","hash_text","generate_uuid","time_info","calculate","url_parse","validate_email","validate_url"],"paid_tools":["extract_page","extract_metadata","extract_links","extract_outline","check_url","batch_extract","text_replace","text_split","text_join","text_sort_lines","text_unique_lines","text_word_frequency","text_extract_emails","text_extract_urls","text_excerpt","text_diff","text_similarity","text_pad","text_wrap","text_truncate","text_remove_lines","text_filter_lines","text_template","text_transliterate","text_case_detect","json_merge","json_keys","json_values","json_flatten","json_unflatten","json_sort_keys","json_array_filter","json_array_sort","json_array_unique","json_compare","json_infer_schema","json_to_csv","csv_to_json","json_pick","json_omit","html_entities","unicode_escape","checksum","hmac_text","generate_token","generate_ulid","generate_nanoid","parse_uuid","query_string","data_uri","number_stats","number_sequence","number_clamp","number_round","number_format","percent_change","unit_convert","temperature_convert","bytes_convert","duration_convert","random_number","prime_check","gcd_lcm","fraction_simplify","base_convert","date_format","date_add","date_diff","timezone_convert","unix_convert","weekday_info","iso_week","days_in_month","business_days","countdown","url_normalize","url_join","url_query_modify","domain_parse","robots_parse","validate_ip","validate_color","color_convert","password_strength","mime_lookup"],"failed_calls_consume_credits":false,"usage_value_is_cash_collected":false,"payment_processor_connected":false},"tools":[{"name":"extract_page","title":"Extract clean page text","description":"Fetch one public web page and return clean bounded text, title, HTTP details, source size, and truncation status. Costs 1 credit ($0.01) on success."},{"name":"extract_metadata","title":"Extract page metadata","description":"Return title, description, canonical URL, language, Open Graph, Twitter Card, and JSON-LD data. Costs 1 credit ($0.01) on success."},{"name":"extract_links","title":"Extract normalized links","description":"Return deduplicated page links resolved to absolute URLs, with anchor text and internal/external classification. Costs 1 credit ($0.01) on success."},{"name":"extract_outline","title":"Extract heading outline","description":"Return the page title and ordered H1-H6 heading structure for navigation and research planning. Costs 1 credit ($0.01) on success."},{"name":"check_url","title":"Inspect URL reachability","description":"Inspect a public URL without following redirects and return HTTP status, content type, length, and redirect target. Costs 1 credit ($0.01) on success."},{"name":"batch_extract","title":"Batch extract pages","description":"Extract clean text from up to 5 public URLs in one call. Partial failures are returned per URL. Costs 1 credit ($0.01) for each successfully extracted page."},{"name":"text_analyze","title":"Analyze text","description":"Count characters, bytes, words, lines, sentences, unique words, estimated reading time, and frequent terms. Free; maximum 50,000 characters."},{"name":"text_transform","title":"Transform text","description":"Apply a bounded text transformation: upper, lower, title, trim, collapse whitespace, slug, snake, kebab, or reverse. Free."},{"name":"json_inspect","title":"Inspect JSON","description":"Validate bounded JSON and report its type, size, top-level keys, item count, depth, and canonical pretty/compact forms. Free."},{"name":"json_path","title":"Read a JSON path","description":"Read a value from bounded JSON using a safe dotted path with numeric array indexes. Free."},{"name":"encode_data","title":"Encode or decode data","description":"Encode or decode bounded text as Base64, URL encoding, or hexadecimal. Free; maximum input 32 KB."},{"name":"hash_text","title":"Hash text","description":"Generate a SHA-256, SHA-512, or MD5 digest for bounded text. Free; hashes are not encryption."},{"name":"generate_uuid","title":"Generate UUID v4","description":"Generate a cryptographically random RFC 4122 UUID version 4. Free."},{"name":"time_info","title":"Get time information","description":"Return current UTC and Unix time plus a formatted value for a valid IANA timezone. Free."},{"name":"calculate","title":"Calculate safely","description":"Perform bounded add, subtract, multiply, divide, modulo, minimum, maximum, or power operations without expression evaluation. Free."},{"name":"usage_status","title":"Check API usage and credits","description":"Return the authenticated key label, daily limit, credits used today, remaining credits, pricing, and reset time. Free and does not consume a credit."},{"name":"text_replace","title":"Replace text","description":"Costs 1 credit ($0.01) on successful execution. Replace a literal substring in bounded text with an optional replacement limit."},{"name":"text_split","title":"Split text","description":"Costs 1 credit ($0.01) on successful execution. Split bounded text by a literal delimiter into at most 500 items."},{"name":"text_join","title":"Join text items","description":"Costs 1 credit ($0.01) on successful execution. Join up to 500 bounded strings with a separator."},{"name":"text_sort_lines","title":"Sort text lines","description":"Costs 1 credit ($0.01) on successful execution. Sort bounded lines ascending or descending, optionally case-insensitively."},{"name":"text_unique_lines","title":"Deduplicate text lines","description":"Costs 1 credit ($0.01) on successful execution. Remove duplicate lines while preserving first occurrence order."},{"name":"text_word_frequency","title":"Count word frequency","description":"Costs 1 credit ($0.01) on successful execution. Return the most frequent normalized words in bounded text."},{"name":"text_extract_emails","title":"Extract email addresses","description":"Costs 1 credit ($0.01) on successful execution. Extract and deduplicate email-like addresses from bounded text."},{"name":"text_extract_urls","title":"Extract URLs","description":"Costs 1 credit ($0.01) on successful execution. Extract and deduplicate absolute HTTP(S) URLs from bounded text without fetching them."},{"name":"text_excerpt","title":"Create text excerpt","description":"Costs 1 credit ($0.01) on successful execution. Return a bounded excerpt by character offset and length."},{"name":"text_diff","title":"Compare text lines","description":"Costs 1 credit ($0.01) on successful execution. Compare two bounded texts and report common, added, and removed lines."},{"name":"text_similarity","title":"Measure text similarity","description":"Costs 1 credit ($0.01) on successful execution. Calculate bounded text similarity using character-level comparison."},{"name":"text_count","title":"Count literal text","description":"Free. Count non-overlapping occurrences of a literal substring."},{"name":"text_pad","title":"Pad text","description":"Costs 1 credit ($0.01) on successful execution. Pad bounded text to a target byte length on the left, right, or both sides."},{"name":"text_wrap","title":"Wrap text","description":"Costs 1 credit ($0.01) on successful execution. Wrap bounded text to a specified column width."},{"name":"text_truncate","title":"Truncate text","description":"Costs 1 credit ($0.01) on successful execution. Truncate bounded text to a maximum length and append a suffix."},{"name":"text_remove_lines","title":"Remove line range","description":"Costs 1 credit ($0.01) on successful execution. Remove a one-indexed inclusive line range from bounded text."},{"name":"text_filter_lines","title":"Filter text lines","description":"Costs 1 credit ($0.01) on successful execution. Include or exclude lines containing a literal substring."},{"name":"text_template","title":"Render text template","description":"Costs 1 credit ($0.01) on successful execution. Replace {{key}} placeholders with scalar values from a bounded JSON object."},{"name":"text_transliterate","title":"Transliterate text","description":"Costs 1 credit ($0.01) on successful execution. Convert Unicode text toward ASCII using the server transliterator where available."},{"name":"text_case_detect","title":"Detect text casing","description":"Costs 1 credit ($0.01) on successful execution. Classify bounded text as upper, lower, title-like, mixed, or uncased."},{"name":"json_merge","title":"Merge JSON objects","description":"Costs 1 credit ($0.01) on successful execution. Merge two bounded JSON objects using replace or recursive mode."},{"name":"json_keys","title":"List JSON keys","description":"Costs 1 credit ($0.01) on successful execution. Return keys from a JSON object at an optional safe dotted path."},{"name":"json_values","title":"List JSON values","description":"Costs 1 credit ($0.01) on successful execution. Return values from a JSON object at an optional safe dotted path."},{"name":"json_flatten","title":"Flatten JSON","description":"Costs 1 credit ($0.01) on successful execution. Flatten a bounded JSON object into dotted paths."},{"name":"json_unflatten","title":"Unflatten JSON","description":"Costs 1 credit ($0.01) on successful execution. Expand a bounded flat JSON object with dotted keys into nested objects."},{"name":"json_sort_keys","title":"Sort JSON keys","description":"Costs 1 credit ($0.01) on successful execution. Recursively sort bounded JSON object keys."},{"name":"json_array_filter","title":"Filter JSON array","description":"Costs 1 credit ($0.01) on successful execution. Filter an array of JSON objects by exact key and scalar value."},{"name":"json_array_sort","title":"Sort JSON array","description":"Costs 1 credit ($0.01) on successful execution. Sort a bounded JSON array by a key or by scalar value."},{"name":"json_array_unique","title":"Deduplicate JSON array","description":"Costs 1 credit ($0.01) on successful execution. Deduplicate a bounded JSON array by canonical value or object key."},{"name":"json_compare","title":"Compare JSON","description":"Costs 1 credit ($0.01) on successful execution. Compare two bounded JSON values and report equality plus differing top-level keys."},{"name":"json_infer_schema","title":"Infer basic JSON schema","description":"Costs 1 credit ($0.01) on successful execution. Infer a compact structural schema from a bounded JSON value."},{"name":"json_to_csv","title":"Convert JSON to CSV","description":"Costs 1 credit ($0.01) on successful execution. Convert a bounded array of flat JSON objects into CSV."},{"name":"csv_to_json","title":"Convert CSV to JSON","description":"Costs 1 credit ($0.01) on successful execution. Parse bounded CSV with a header row into JSON objects."},{"name":"json_pick","title":"Pick JSON keys","description":"Costs 1 credit ($0.01) on successful execution. Return only selected top-level keys from a JSON object."},{"name":"json_omit","title":"Omit JSON keys","description":"Costs 1 credit ($0.01) on successful execution. Remove selected top-level keys from a JSON object."},{"name":"base64_url","title":"Encode Base64URL","description":"Free. Encode or decode bounded data with unpadded URL-safe Base64."},{"name":"html_entities","title":"Transform HTML entities","description":"Costs 1 credit ($0.01) on successful execution. Encode or decode HTML entities without rendering HTML."},{"name":"unicode_escape","title":"Transform Unicode escapes","description":"Costs 1 credit ($0.01) on successful execution. Encode text as JSON-style Unicode escapes or decode a quoted escape sequence."},{"name":"checksum","title":"Calculate checksum","description":"Costs 1 credit ($0.01) on successful execution. Calculate CRC32B, CRC32, or Adler-32 checksum for bounded text."},{"name":"hmac_text","title":"Generate HMAC","description":"Costs 1 credit ($0.01) on successful execution. Generate a SHA-256 or SHA-512 HMAC for bounded text and key material."},{"name":"generate_token","title":"Generate secure token","description":"Costs 1 credit ($0.01) on successful execution. Generate a cryptographically secure hexadecimal or Base64URL token."},{"name":"generate_ulid","title":"Generate ULID","description":"Costs 1 credit ($0.01) on successful execution. Generate a time-sortable ULID with cryptographically random entropy."},{"name":"generate_nanoid","title":"Generate Nano ID","description":"Costs 1 credit ($0.01) on successful execution. Generate a cryptographically random identifier from a bounded safe alphabet."},{"name":"parse_uuid","title":"Parse UUID","description":"Costs 1 credit ($0.01) on successful execution. Validate and report version and variant information for a UUID."},{"name":"url_parse","title":"Parse URL","description":"Free. Parse an absolute URL into scheme, host, port, path, query, and fragment without fetching it."},{"name":"query_string","title":"Transform query string","description":"Costs 1 credit ($0.01) on successful execution. Encode a bounded JSON object to a query string or decode a query string to JSON."},{"name":"data_uri","title":"Transform data URI","description":"Costs 1 credit ($0.01) on successful execution. Encode bounded text as a data URI or decode a bounded data URI."},{"name":"number_stats","title":"Calculate number statistics","description":"Costs 1 credit ($0.01) on successful execution. Return count, sum, mean, median, min, max, range, and standard deviation."},{"name":"number_sequence","title":"Generate number sequence","description":"Costs 1 credit ($0.01) on successful execution. Generate at most 1,000 values from start to stop using a nonzero step."},{"name":"number_clamp","title":"Clamp number","description":"Costs 1 credit ($0.01) on successful execution. Clamp a finite number to inclusive minimum and maximum bounds."},{"name":"number_round","title":"Round number","description":"Costs 1 credit ($0.01) on successful execution. Round a finite number using half-up, floor, or ceiling mode."},{"name":"number_format","title":"Format number","description":"Costs 1 credit ($0.01) on successful execution. Format a finite number with bounded decimals and chosen separators."},{"name":"percent_change","title":"Calculate percent change","description":"Costs 1 credit ($0.01) on successful execution. Calculate absolute and percentage change between old and new finite values."},{"name":"unit_convert","title":"Convert measurement units","description":"Costs 1 credit ($0.01) on successful execution. Convert common length, mass, and volume units within the same dimension."},{"name":"temperature_convert","title":"Convert temperature","description":"Costs 1 credit ($0.01) on successful execution. Convert Celsius, Fahrenheit, or Kelvin temperatures."},{"name":"bytes_convert","title":"Convert byte units","description":"Costs 1 credit ($0.01) on successful execution. Convert values among bytes and decimal or binary byte units."},{"name":"duration_convert","title":"Convert duration units","description":"Costs 1 credit ($0.01) on successful execution. Convert values among milliseconds, seconds, minutes, hours, and days."},{"name":"random_number","title":"Generate random number","description":"Costs 1 credit ($0.01) on successful execution. Generate a cryptographically secure random integer or bounded precision float."},{"name":"prime_check","title":"Check prime number","description":"Costs 1 credit ($0.01) on successful execution. Check whether an integer up to one billion is prime."},{"name":"gcd_lcm","title":"Calculate GCD and LCM","description":"Costs 1 credit ($0.01) on successful execution. Calculate greatest common divisor and least common multiple for two bounded integers."},{"name":"fraction_simplify","title":"Simplify fraction","description":"Costs 1 credit ($0.01) on successful execution. Reduce a bounded integer numerator and nonzero denominator."},{"name":"base_convert","title":"Convert number base","description":"Costs 1 credit ($0.01) on successful execution. Convert an integer string between bases 2 through 36."},{"name":"date_format","title":"Format date","description":"Costs 1 credit ($0.01) on successful execution. Parse and format a date in an IANA timezone."},{"name":"date_add","title":"Add date interval","description":"Costs 1 credit ($0.01) on successful execution. Add or subtract a bounded ISO-8601 duration from a date."},{"name":"date_diff","title":"Compare dates","description":"Costs 1 credit ($0.01) on successful execution. Return signed seconds and calendar difference between two dates."},{"name":"timezone_convert","title":"Convert timezone","description":"Costs 1 credit ($0.01) on successful execution. Convert a date from one IANA timezone to another."},{"name":"unix_convert","title":"Convert Unix timestamp","description":"Costs 1 credit ($0.01) on successful execution. Convert a Unix timestamp to an ISO date or a date to Unix seconds."},{"name":"weekday_info","title":"Inspect weekday","description":"Costs 1 credit ($0.01) on successful execution. Return weekday name, ISO weekday number, and weekend status for a date."},{"name":"iso_week","title":"Inspect ISO week","description":"Costs 1 credit ($0.01) on successful execution. Return ISO week number and week-year for a date."},{"name":"days_in_month","title":"Count days in month","description":"Costs 1 credit ($0.01) on successful execution. Return the number of days in a specified month and year."},{"name":"business_days","title":"Count business days","description":"Costs 1 credit ($0.01) on successful execution. Count Monday-Friday days in an inclusive date range of at most ten years."},{"name":"countdown","title":"Calculate countdown","description":"Costs 1 credit ($0.01) on successful execution. Return signed time remaining between a source date and target date."},{"name":"url_normalize","title":"Normalize URL","description":"Costs 1 credit ($0.01) on successful execution. Normalize URL scheme, host casing, default ports, path, and query ordering without fetching."},{"name":"url_join","title":"Join URL","description":"Costs 1 credit ($0.01) on successful execution. Resolve a relative path against an absolute base URL without fetching."},{"name":"url_query_modify","title":"Modify URL query","description":"Costs 1 credit ($0.01) on successful execution. Add scalar query parameters and remove named parameters from a URL."},{"name":"domain_parse","title":"Parse domain","description":"Costs 1 credit ($0.01) on successful execution. Return host labels and a conservative registered-domain approximation without network lookup."},{"name":"robots_parse","title":"Parse robots.txt","description":"Costs 1 credit ($0.01) on successful execution. Parse provided robots.txt content for a selected user agent without fetching it."},{"name":"validate_email","title":"Validate email","description":"Free. Validate email syntax and return normalized domain details."},{"name":"validate_ip","title":"Validate IP address","description":"Costs 1 credit ($0.01) on successful execution. Validate IPv4 or IPv6 syntax and report public/private or reserved classification."},{"name":"validate_url","title":"Validate URL","description":"Free. Validate absolute URL syntax and report parsed components without fetching."},{"name":"validate_color","title":"Validate color","description":"Costs 1 credit ($0.01) on successful execution. Validate hexadecimal, RGB, or HSL CSS color syntax."},{"name":"color_convert","title":"Convert color","description":"Costs 1 credit ($0.01) on successful execution. Convert a hexadecimal or RGB color to hex, RGB, or HSL."},{"name":"password_strength","title":"Estimate password strength","description":"Costs 1 credit ($0.01) on successful execution. Estimate password strength from length and character diversity without storing input. Do not send real secrets."},{"name":"mime_lookup","title":"Look up MIME type","description":"Costs 1 credit ($0.01) on successful execution. Return a common MIME type for a filename or extension without reading a file."}],"metadata_url":"https://virtualairlinemanager.com/.well-known/agent-utility-mcp.json","openapi_url":"https://virtualairlinemanager.com/agent-utility-mcp/openapi.json","documentation_url":"https://virtualairlinemanager.com/mcp","dashboard_url":"https://virtualairlinemanager.com/mcp-admin"}