[
  {
    "id": "swiss-army",
    "name": "AINode Swiss Army",
    "description": "15 utility tools for AI agents -- currency, PDF, image, hash, encode, and more",
    "version": "0.1.0",
    "category": "spotlight",
    "tool_count": 22,
    "tools": [
      {
        "name": "json_to_csv",
        "price_usd": 0.001,
        "description": "Convert JSON array of objects to RFC 4180 CSV."
      },
      {
        "name": "csv_to_json",
        "price_usd": 0.001,
        "description": "Convert CSV string to JSON array of objects."
      },
      {
        "name": "markdown_to_html",
        "price_usd": 0.001,
        "description": "Convert Markdown to HTML."
      },
      {
        "name": "extract_url_metadata",
        "price_usd": 0.003,
        "description": "Extract Open Graph metadata from a URL."
      },
      {
        "name": "html_to_text",
        "price_usd": 0.001,
        "description": "Strip HTML tags and decode entities to plain text."
      },
      {
        "name": "generate_hash",
        "price_usd": 0.001,
        "description": "Generate MD5, SHA-256, or SHA-512 hex digest."
      },
      {
        "name": "generate_uuid",
        "price_usd": 0.001,
        "description": "Generate one or more UUID v4 values."
      },
      {
        "name": "encode_base64",
        "price_usd": 0.001,
        "description": "Encode a UTF-8 string to Base64."
      },
      {
        "name": "decode_base64",
        "price_usd": 0.001,
        "description": "Decode a Base64 string to UTF-8."
      },
      {
        "name": "convert_timezone",
        "price_usd": 0.001,
        "description": "Convert a datetime between IANA timezones."
      },
      {
        "name": "parse_cron",
        "price_usd": 0.002,
        "description": "Parse a cron expression and return next run times."
      },
      {
        "name": "test_regex",
        "price_usd": 0.001,
        "description": "Test a regex pattern against an input string."
      },
      {
        "name": "convert_currency",
        "price_usd": 0.002,
        "description": "Convert between currencies using cached ECB rates."
      },
      {
        "name": "extract_pdf_text",
        "price_usd": 0.005,
        "description": "Extract text from PDF documents."
      },
      {
        "name": "resize_image",
        "price_usd": 0.005,
        "description": "Resize and compress images."
      },
      {
        "name": "validate_nif",
        "price_usd": 0.002,
        "description": "Validate Portuguese NIF/NIPC tax identification number (mod-11 check digit)."
      },
      {
        "name": "validate_iban",
        "price_usd": 0.002,
        "description": "Validate IBAN (ISO 13616 mod-97) with SEPA BIC lookup for Portuguese banks."
      },
      {
        "name": "verify_eu_vat",
        "price_usd": 0.005,
        "description": "Verify EU VAT number via VIES (European Commission free API)."
      },
      {
        "name": "classify_gdpr",
        "price_usd": 0.003,
        "description": "Detect GDPR PII categories in text (email, phone, IP, name, location). Returns categories only, never actual PII values."
      },
      {
        "name": "generate_csp",
        "price_usd": 0.002,
        "description": "Generate Content-Security-Policy header from structured directives input."
      },
      {
        "name": "validate_cors",
        "price_usd": 0.002,
        "description": "Validate CORS policy against security best practices. Reports issues by severity."
      },
      {
        "name": "detect_secrets",
        "price_usd": 0.003,
        "description": "Detect hardcoded secrets, API keys, and credentials in text using pattern matching and entropy analysis."
      }
    ],
    "pricing_summary": "$0.001-0.005/call",
    "endpoint": "https://swiss.api.ainode.tech",
    "brand": "AINode",
    "tags": [
      "mcp",
      "utility",
      "converter",
      "hash",
      "format",
      "transform",
      "developer-tools",
      "automation",
      "text-processing",
      "data-processing",
      "currency",
      "pdf",
      "image"
    ],
    "status": "live"
  },
  {
    "id": "search-router",
    "name": "AINode Search Router",
    "description": "Intelligent multi-provider web search with tiered pricing. Routes queries to the cheapest adequate provider (Serper, Tavily, Exa) based on complexity classification. Dual-layer caching (exact + semantic) reduces repeat query costs to $0.002.",
    "version": "0.1.0",
    "category": "spotlight",
    "tool_count": 4,
    "tools": [
      {
        "name": "web_search_simple",
        "price_usd": 0.003,
        "description": "Simple factual web search via Brave Search (short queries, lookups, definitions)."
      },
      {
        "name": "web_search_medium",
        "price_usd": 0.008,
        "description": "Medium complexity web search via Brave Search (default for ambiguous queries)."
      },
      {
        "name": "web_search_deep",
        "price_usd": 0.015,
        "description": "Deep research web search via Exa Search (academic, boolean operators, comprehensive analysis)."
      },
      {
        "name": "web_search_cached",
        "price_usd": 0.002,
        "description": "Cached search result (exact or semantic match from cache)."
      }
    ],
    "pricing_summary": "$0.002-0.015/query",
    "endpoint": "https://search.api.ainode.tech",
    "brand": "AINode",
    "tags": [
      "mcp",
      "search",
      "web-search",
      "multi-provider",
      "intelligent-routing",
      "caching",
      "semantic-cache",
      "serper",
      "tavily",
      "exa",
      "tiered-pricing",
      "ai-agents"
    ],
    "status": "live"
  },
  {
    "id": "cache-proxy",
    "name": "AINode LLM Cache Proxy",
    "description": "Transparent LLM response caching proxy. Supports OpenAI and Anthropic API formats. Dual-layer cache (exact hash + semantic similarity) returns cached responses instantly, saving upstream API costs. Dual interface: MCP tool at /mcp, HTTP proxy at /api.",
    "version": "0.1.0",
    "category": "spotlight",
    "tool_count": 1,
    "tools": [
      {
        "name": "cache_query",
        "price_usd": 0.001,
        "description": "Send an LLM request through the caching proxy"
      }
    ],
    "pricing_summary": "$0.001/call or $0-99/month",
    "endpoint": "https://cache.api.ainode.tech",
    "brand": "AINode",
    "tags": [
      "mcp",
      "llm-cache",
      "caching",
      "openai",
      "anthropic",
      "semantic-cache",
      "proxy",
      "ai-agents",
      "cost-saving"
    ],
    "status": "live"
  },
  {
    "id": "apple-mcp",
    "name": "AINode Apple MCP",
    "description": "Give your AI agents access to iCloud Calendar, Contacts, and Reminders via CalDAV/CardDAV",
    "version": "0.1.0",
    "category": "niche",
    "tool_count": 13,
    "tools": [
      {
        "name": "list_calendars",
        "description": "List all iCloud calendars",
        "price": "$0.01"
      },
      {
        "name": "list_events",
        "description": "Query calendar events by date range",
        "price": "$0.01"
      },
      {
        "name": "create_event",
        "description": "Create a new calendar event",
        "price": "$0.01"
      },
      {
        "name": "update_event",
        "description": "Update an existing calendar event",
        "price": "$0.01"
      },
      {
        "name": "delete_event",
        "description": "Delete a calendar event",
        "price": "$0.01"
      },
      {
        "name": "search_contacts",
        "description": "Search contacts by name or email",
        "price": "$0.01"
      },
      {
        "name": "get_contact",
        "description": "Get contact details by ID",
        "price": "$0.01"
      },
      {
        "name": "create_contact",
        "description": "Create a new contact",
        "price": "$0.01"
      },
      {
        "name": "update_contact",
        "description": "Update an existing contact",
        "price": "$0.01"
      },
      {
        "name": "list_reminders",
        "description": "List reminders from a calendar",
        "price": "$0.01"
      },
      {
        "name": "create_reminder",
        "description": "Create a new reminder",
        "price": "$0.01"
      },
      {
        "name": "complete_reminder",
        "description": "Mark a reminder as complete",
        "price": "$0.01"
      },
      {
        "name": "health",
        "description": "Health check -- no billing required",
        "price": "free"
      }
    ],
    "pricing_summary": "$0.01/call",
    "endpoint": null,
    "brand": "AINode",
    "tags": [
      "mcp",
      "apple",
      "icloud",
      "calendar",
      "contacts",
      "reminders",
      "caldav",
      "carddav",
      "scheduling",
      "self-hosted",
      "privacy"
    ],
    "status": "coming-soon"
  },
  {
    "id": "accounting-mcp",
    "name": "AINode Xero Accounting MCP",
    "description": "EU-first accounting automation for AI agents. Invoicing, reconciliation, expense categorisation, VAT calculation, and financial reports with Portuguese tax expertise built in. Two-step safety pattern: review before committing.",
    "version": "0.1.0",
    "category": "niche",
    "tool_count": 8,
    "tools": [
      {
        "name": "reconcile_transactions",
        "price_usd": 0.05,
        "description": "Match bank statement lines against Xero transactions."
      },
      {
        "name": "confirm_reconciliation",
        "price_usd": 0.1,
        "description": "Apply confirmed reconciliation matches to Xero."
      },
      {
        "name": "categorise_expenses",
        "price_usd": 0.05,
        "description": "Suggest Portuguese tax categories for uncategorised expenses."
      },
      {
        "name": "apply_categories",
        "price_usd": 0.1,
        "description": "Apply confirmed category assignments to Xero transactions."
      },
      {
        "name": "calculate_vat",
        "price_usd": 0.02,
        "description": "Calculate Portuguese VAT for a given amount, category, and region."
      },
      {
        "name": "draft_invoice",
        "price_usd": 0.05,
        "description": "Create a draft invoice with VAT preview."
      },
      {
        "name": "send_invoice",
        "price_usd": 0.1,
        "description": "Authorise and email an invoice via Xero."
      },
      {
        "name": "generate_report",
        "price_usd": 0.05,
        "description": "Generate financial report: P&L, Balance Sheet, Cash Flow, or VAT Summary."
      }
    ],
    "pricing_summary": "$0.02-0.10/call or $49-299/mo",
    "endpoint": "https://xero.api.ainode.tech",
    "brand": "AINode",
    "tags": [
      "mcp",
      "xero",
      "accounting",
      "invoicing",
      "vat",
      "portugal",
      "eu",
      "tax",
      "reconciliation",
      "saf-t",
      "financial-reports",
      "bookkeeping"
    ],
    "status": "live"
  }
]
