# agentops.tools > agentops.tools is a free public API of 32 tools that AI agents call over MCP, A2A and REST: > live weather, exchange rates, DNS, PDFs, QR codes, route planning and more. > Every result is typed JSON with its sources. No key, no account, no card. > Limits: 30 units per minute and 1,000 units per day per client IP. ## Connect - A2A agent card: https://agentops.tools/.well-known/agent-card.json - A2A endpoint (JSON-RPC, protocol 1.0; 0.3 also accepted): https://agentops.tools/a2a - MCP (Streamable HTTP): https://agentops.tools/mcp - REST base: https://agentops.tools/v1 - OpenAPI: https://agentops.tools/openapi.json - Catalog (JSON): https://agentops.tools/tools.json Claude Code: `claude mcp add --transport http agentops https://agentops.tools/mcp` ## A2A Each tool is one skill, and its id is the tool name. Send one message with a data part {"skill": "", "input": {...}}. The reply is one agent message whose data part holds the response envelope. Check ok first. No tasks are stored, so GetTask answers TaskNotFound. Streaming and push notifications are not offered. ## Response envelope Every response is {ok, data, meta, error}. Check `ok`. On failure, `error.code` is one of INVALID_INPUT, NOT_FOUND, BLOCKED_TARGET, TOO_LARGE, UNSUPPORTED, DNS_FAILURE, EMPTY_CONTENT, RATE_LIMITED, UPSTREAM_UNAVAILABLE, UNAVAILABLE, TIMEOUT, INTERNAL. `error.hint` says how to fix the call. ## Tools - [time.now](https://agentops.tools/tools/time.now/): Current date and time in any IANA timezone, with UTC offset and daylight-saving flag. Use when: Use whenever you need today's date or the current time, because models do not know it. Pass an IANA timezone such as Europe/Berlin. Defaults to UTC. - [geo.resolve](https://agentops.tools/tools/geo.resolve/): Turns a place name into coordinates, country and timezone. Use when: Use when the user names a place and you need its coordinates or to pick between candidates. Weather, air quality, routing and nearby search accept a place name directly, so you rarely need this on its own. - [weather.current](https://agentops.tools/tools/weather.current/): Current temperature, feels-like, humidity, wind and conditions for a place. Use when: Use for questions about the weather right now at a place. Use weather.forecast for future days and weather.alerts for warnings. - [weather.forecast](https://agentops.tools/tools/weather.forecast/): Daily forecast up to 16 days: highs, lows, rain chance, wind, sunrise and sunset. Use when: Use for questions about future weather at a place, such as 'will it rain on Friday' or 'what should I pack for next week'. Use weather.current for right now. - [air.quality](https://agentops.tools/tools/air.quality/): Current US and European AQI with PM2.5, PM10, ozone and NO2 readings for a place. Use when: Use for questions about air pollution, or whether it is safe to exercise outdoors at a place. Returns US AQI (0-500) and European AQI. - [weather.alerts](https://agentops.tools/tools/weather.alerts/): Active National Weather Service warnings, watches and advisories for a US point. Use when: Use when the user asks about active warnings, storms or hazards at a location. Coverage is the United States and territories only. Other locations return an empty list with a coverage note. - [fx.convert](https://agentops.tools/tools/fx.convert/): Converts an amount between two currencies at the ECB reference rate, latest or historical. Use when: Use for currency conversion. ECB reference rates are published on business days, so weekend and holiday requests use the last published rate. Not a trading or exact bank quote. - [crypto.price](https://agentops.tools/tools/crypto.price/): Price, 24-hour change and market cap for up to 10 coins by CoinGecko id. Use when: Use for current cryptocurrency prices. Pass CoinGecko ids such as bitcoin or ethereum, not ticker symbols, which are ambiguous. Prices are indicative, not trading quotes. - [holidays.list](https://agentops.tools/tools/holidays.list/): Public and bank holidays for a country or state in a year, plus a business-day check. Use when: Use for holiday calendars, or to check whether a date is a business day, for example when counting working days toward a deadline. Computed offline, so it is fast and always available. - [tokens.count](https://agentops.tools/tools/tokens.count/): Exact token count for the OpenAI o200k_base and cl100k_base encodings, computed offline. Use when: Use to estimate prompt size or cost for OpenAI models. Counts are exact for the named encoding. Anthropic and Google tokenizers differ and are not supported yet. - [web.extract](https://agentops.tools/tools/web.extract/): Main text, title, author and publish date from a public web page, as clean plain text. Use when: Use to read the content of an article, blog post or documentation page. Returns plain text, not HTML. Pages that need JavaScript to render may return EMPTY_CONTENT; web.screenshot can show those. - [web.archive](https://agentops.tools/tools/web.archive/): Closest Internet Archive snapshot of a URL, latest or near a given date. Use when: Use when a link is dead or the user wants a page as it was on a date. Returns the snapshot closest to the timestamp, not every capture. - [feed.read](https://agentops.tools/tools/feed.read/): Latest items from any RSS or Atom feed: title, link, published time and summary. Use when: Use to see recent posts from a blog, news site or release channel. Stateless: each call returns the newest items; it does not notify on new ones. - [site.status](https://agentops.tools/tools/site.status/): Is a URL up? HTTP status, redirect target, response time and a failure class, for up to 20 URLs. Use when: Use to check whether a site is reachable from the public internet, or to diagnose why a link fails. Reports the first response without following redirects. Results are not cached. - [dns.lookup](https://agentops.tools/tools/dns.lookup/): A, AAAA, MX, TXT, NS, CNAME and CAA records for a domain, with SPF and DMARC parsed out. Use when: Use to check where a domain points, which mail servers it uses, or whether SPF and DMARC are set. Answers come from a public recursive resolver, so changes may take time to show. - [domain.whois](https://agentops.tools/tools/domain.whois/): Registrar, creation and expiry dates, status flags and nameservers from RDAP. Use when: Use for questions about who registered a domain, when it expires, or which nameservers it uses. Uses RDAP, the modern replacement for WHOIS. Some registries redact contact details, which is expected. - [email.check](https://agentops.tools/tools/email.check/): Syntax, mail-server (MX) presence, disposable-domain and role-account checks for an address. Use when: Use to screen addresses before sending or storing them: is the syntax valid, does the domain accept mail, is it a throwaway provider. It does not contact the mailbox, so it cannot confirm that the person exists. - [tls.inspect](https://agentops.tools/tools/tls.inspect/): Certificate chain, expiry, cipher and TLS version for a host, seen from our network. Use when: Use to check whether a site's certificate is valid, who issued it, when it expires, or what TLS version and cipher it negotiates. Sees what our servers see, not the agent's own network. - [route.plan](https://agentops.tools/tools/route.plan/): Driving distance, duration and turn-by-turn steps through two to ten stops. Use when: Use for drive distance and time between places, or a multi-stop road trip. Gives road-network estimates without live traffic. Walking and cycling are not offered yet. - [places.nearby](https://agentops.tools/tools/places.nearby/): Named restaurants, cafés, pharmacies, fuel, ATMs and more within a radius, nearest first. Use when: Use to find named businesses or amenities near a location. Results come from OpenStreetMap, so coverage varies by area, and opening hours are as mapped by volunteers. - [ip.geolocate](https://agentops.tools/tools/ip.geolocate/): Country, city and coordinates for a public IP address, from an offline database. Use when: Use to place an IP address on the map, for example to localise content or annotate logs. City precision is approximate; private addresses are rejected. - [food.barcode](https://agentops.tools/tools/food.barcode/): Name, brand, quantity, categories, Nutri-Score and ingredients for a food barcode (EAN/UPC). Use when: Use to identify a packaged food product from its barcode. Food only: Open Food Facts does not carry prices or non-food items. - [qr.generate](https://agentops.tools/tools/qr.generate/): QR code as PNG (base64) or SVG for any text or URL up to 2,000 characters. Use when: Use when the user needs a QR code for a link, Wi-Fi string, contact or any text. Output is an image the user can save or print. - [qr.decode](https://agentops.tools/tools/qr.decode/): Reads the QR code in a PNG or JPEG image, given as a URL or base64. Use when: Use to read a QR code from a screenshot or photo. Only QR codes are decoded; 1D barcodes are not supported in this version. Images over 12 megapixels are rejected. - [image.transform](https://agentops.tools/tools/image.transform/): Resize an image and convert it to JPEG, PNG or WebP; metadata is stripped. Use when: Use to make an image a particular size or format, for example a thumbnail or a WebP for the web. Output up to 1 MB is returned inline as base64. - [image.inspect](https://agentops.tools/tools/image.inspect/): Format, dimensions, EXIF camera and capture data, and dominant colours of an image. Use when: Use to learn what an image is: its size, format, camera and date from EXIF, and its main colours. EXIF may contain GPS coordinates when the camera recorded them. Dominant colours are only computed for PNG and JPEG. - [image.ocr](https://agentops.tools/tools/image.ocr/): Printed text read from an image, with mean confidence and word count. Use when: Use to read text in a photo, scan or screenshot, for example a receipt, sign or document page. Works on clear printed text; handwriting and heavy stylisation fail. - [media.probe](https://agentops.tools/tools/media.probe/): Duration, codecs, dimensions and container for an audio or video file up to 20 MB. Use when: Use to inspect a media file before processing it: how long it is, what codecs it uses, its resolution. Give a URL or base64 bytes. - [chart.render](https://agentops.tools/tools/chart.render/): Bar, line or pie chart from up to 24 labelled values, returned as a PNG. Use when: Use to turn numbers into a shareable chart image, for example a report figure or a quick visual of a comparison. Up to 24 points; for larger data summarise first. - [pdf.extract](https://agentops.tools/tools/pdf.extract/): Page-by-page text from a text-based PDF, given as a URL or base64, up to 10 MB. Use when: Use to read the text of a PDF such as a report, contract or paper. Works on text-based PDFs; for scanned pages with no text layer, use image.ocr on a rendered page image instead. - [web.screenshot](https://agentops.tools/tools/web.screenshot/): Renders a public URL in a headless Chromium and returns a JPEG or PNG screenshot. Use when: Use to see what a page looks like, including pages that need JavaScript. Renders with a real browser, which is slower than the text tools. Output up to 1 MB is returned inline. - [web.pdf](https://agentops.tools/tools/web.pdf/): Prints a public URL, or HTML you supply, to an A4 or Letter PDF using a headless browser. Use when: Use to produce a printable PDF of a page, or of HTML the agent has written. Renders JavaScript and CSS like a browser print. Output up to 1 MB is returned inline. ## FAQ ### What is agentops.tools? agentops.tools is a free public API of 32 tools that AI agents can call over MCP, A2A and REST. It covers live weather, exchange rates, crypto prices, DNS, WHOIS, TLS checks, web page extraction, screenshots, PDFs, OCR, QR codes, geocoding and route planning. Every call returns typed JSON with the sources behind it. No API key, account or card is needed. ### Is agentops.tools free? What are the rate limits? Yes. There is no paid tier. Anonymous clients get 30 units per minute and 1,000 units per day per IP address. Each tool states its unit cost on its page, and heavier tools cost more units. A call over the limit returns RATE_LIMITED with a retry_after_s value. ### How do I add agentops.tools to Claude Code or another MCP client? Point the client at the MCP endpoint https://agentops.tools/mcp, which speaks Streamable HTTP. In Claude Code run: claude mcp add --transport http agentops https://agentops.tools/mcp. All 32 tools appear with their JSON Schemas. No key is needed. ### Does agentops.tools support the A2A protocol? Yes. The agent card at https://agentops.tools/.well-known/agent-card.json lists every tool as a skill. Call a skill with a JSON-RPC 2.0 POST to https://agentops.tools/a2a. A2A protocol versions 1.0 and 0.3 are both accepted. ### Can I call the tools with plain HTTP? Yes. POST a JSON body to https://agentops.tools/v1/{tool}, or use GET with query parameters. The OpenAPI description is at https://agentops.tools/openapi.json and the full catalog is at https://agentops.tools/tools.json. ### What does a response look like? Every response is the same envelope: {ok, data, meta, error}. Check ok first. On success, data holds the result and meta names the tool, its sources and whether the result came from cache. On failure, error.code is a fixed code such as INVALID_INPUT or RATE_LIMITED, and error.hint says what to change. ### Where does the data come from? Each tool uses public sources and names them in every response, for example Open-Meteo for weather, ECB reference rates for currency conversion, CoinGecko for crypto prices and the US National Weather Service for alerts. Where a licence requires attribution, it is returned in meta.attribution. Each tool page lists its sources. ### Does agentops.tools store what my agent sends? Call inputs are used to produce the result and are not stored beyond the request, except for short-lived cache entries that hold results, not identities. IP addresses are used only for rate-limit counters. The API sets no cookies and uses no analytics. ### Is agentops.tools related to AgentOps? No. agentops.tools is not affiliated with other products or companies named AgentOps. ## Policies - Fair use: https://agentops.tools/fair-use/ - Privacy: https://agentops.tools/privacy/