# Eloquent Lookup > Eloquent Lookup exposes a fleet of agent-facing surfaces. Base URL: https://lookup.eloquentanalytics.com ## LLM-driven key-value store with confidence tracking Look up any value by key. If it's not known, provide a prompt and the system figures it out. Confidence decays over time; re-assessment keeps values fresh. A key-value store where values are determined by LLM assessment and improve over time. Each key has a history of observations with confidence scores. Reads walk the history newest-first and return the first assessment whose decayed confidence clears the caller's threshold. Request a minimum confidence — if nothing meets it, you get null. ### Use this when - You need a value that is uncertain or changes over time. - You want to know something and have a prompt for how to figure it out. - You need to track how confident you are in a piece of knowledge. - You want to memoize LLM observations with decay. ### Do not use this when - You need to store operational data with a single authoritative value. - You need a cache with TTL semantics. - You need vector similarity search. - You need to run inference directly (use complete). ### Inputs - A key (any string, often a hash). - A prompt describing how to determine the value. - A confidence threshold. - Optional max_age duration to force a refresh. ### Outputs - A value with a confidence score, or null. - Full assessment history with provenance. ### Decision rule for AI agents Choose lookup when you need a value that benefits from LLM assessment, may change over time, and should carry a confidence score. Think of it as memoized LLM inference with decay. ### API endpoint `GET /api/lookup/:key` ## Discovery & Interaction Surfaces Eloquent Lookup exposes 33 interaction surfaces — different ways for agents and developers to discover, invoke, and integrate the service. ### Standard - **robots_txt** [RFC 9309, Content Signals v1] — robots.txt with AI bot directives and Content Signals for crawl control (GET /robots.txt) - **sitemap_xml** [Sitemaps.org Protocol] — XML sitemap with canonical URLs for search engines and discovery agents (GET /sitemap.xml) - **agent_homepage** — Agent-focused homepage listing discovery endpoints, tools, and registered surfaces (GET /) - **human_homepage** — Human-readable homepage with styled layout, discovery links, and surface overview (GET /?view=human) - **a2a_delegation_surface** [Google A2A Protocol] — Google A2A agent card and task endpoint for agent-to-agent delegation (GET /.well-known/agent.json, POST /api/a2a/tasks/send) - **tool_execution_service** [OpenAPI 3.1] — Authenticated tool-execution service: checks balance, dispatches tool call, records usage (POST /api/invoke, GET /api/results/:id) ### Emerging - **oauth_discovery** [RFC 8414, RFC 9728, OpenID Connect Discovery 1.0] — OAuth protected resource metadata (RFC 9728) and OIDC discovery (RFC 8414) (GET /.well-known/oauth-protected-resource, GET /.well-known/openid-configuration) - **api_catalog** [RFC 9727, RFC 9264] — RFC 9727 API catalog for automated API discovery via linkset format (GET /.well-known/api-catalog) - **mcp_server_card** [SEP-1649, Model Context Protocol] — MCP Server Card (SEP-1649) for Model Context Protocol server discovery (GET /.well-known/mcp/server-card.json) - **a2a_agent_card** [Google A2A Protocol] — A2A agent card at /.well-known/agent.json (and agent-card.json alias) (GET /.well-known/agent.json, GET /.well-known/agent-card.json) - **llms_txt** [llms.txt] — LLM-optimized documentation at /llms.txt generated from the surface registry (GET /llms.txt) - **link_headers** [RFC 8288, RFC 9727] — RFC 8288 Link headers on the homepage for agent resource discovery (Link header on GET /) - **agent_skills_index_surface** [Agent Skills Discovery RFC v0.2.0] — Agent Skills Discovery index listing available skills with SHA256 digests (GET /.well-known/agent-skills/index.json) - **discovery_metadata_cards** [OpenAI Plugin Manifest] — Multi-format agent cards at /.well-known/ai-plugin.json and /api/agent-card for agent discovery (GET /.well-known/ai-plugin.json, GET /api/agent-card) - **schema_first_routing_descriptions** [OpenAPI 3.x, x-agent-hints] — Enhanced OpenAPI with x-agent-hints and machine-readable routing descriptions (GET /api/routing-descriptions.json) - **machine_readable_recovery_guidance** [RFC 9457] — RFC 9457 Problem Details error responses with recovery actions for machine clients (GET /api/errors/catalog) - **cost_aware_invocation** — Cost and latency estimation endpoint that returns estimates without calling LLMs (GET /api/invoke/estimate) - **sdk_generated_examples_and_quickstarts** — Templated code examples for curl, TypeScript, Python, and MCP config (GET /api/examples, GET /api/examples/:language) - **model_variant_seo_surface** [SEO / HTML (WHATWG Living Standard), OpenAPI 3.x] — Machine-readable tool variant registry derived from registered tools with SEO-friendly HTML pages (GET /models, GET /api/models) - **static_anonymous_html** [RFC 7234, RFC 7232, RFC 7231] — Server-rendered anonymous HTML pages with baked-in data and HTTP caching headers (Cache-Control, Vary, ETag) (GET / (static), GET /surfaces (static), GET /pricing (static), GET /result/:id (static)) - **streaming_status_partial_progress** [W3C Server-Sent Events, RFC 9112] — SSE endpoint for real-time partial progress events during long-running tool invocation (POST /api/invoke/stream) - **user_home_mirror_skills** [Cursor Skills Convention, Claude Code SKILL.md, Codex Skills] — HTTP mirrors of SKILL.md and home-root agent files (AGENTS.md, CLAUDE.md, …) so URI patterns match filesystem discovery (GET /.cursor/skills/mirror/SKILL.md, GET /.cursor/mirror/SKILL.md, GET /.claude/skills/mirror/SKILL.md, GET /.claude/skills/mirror.md, GET /.codex/skills/mirror/SKILL.md, GET /.agents/skills/mirror/SKILL.md, GET /~/.cursor/skills/mirror/SKILL.md, GET /~/.cursor/mirror/SKILL.md, GET /~/.claude/skills/mirror/SKILL.md, GET /~/.claude/skills/mirror.md, GET /~/.codex/skills/mirror/SKILL.md, GET /~/.agents/skills/mirror/SKILL.md, GET /%7E/.cursor/skills/mirror/SKILL.md, GET /%7E/.cursor/mirror/SKILL.md, GET /%7E/.claude/skills/mirror/SKILL.md, GET /%7E/.claude/skills/mirror.md, GET /%7E/.codex/skills/mirror/SKILL.md, GET /%7E/.agents/skills/mirror/SKILL.md, GET /~/AGENTS.md, GET /%7E/AGENTS.md, GET /~/CLAUDE.md, GET /%7E/CLAUDE.md, GET /~/SKILLS.md, GET /%7E/SKILLS.md, GET /~/GEMINI.md, GET /%7E/GEMINI.md, GET /~/CODEX.md, GET /%7E/CODEX.md, GET /~/AI.md, GET /%7E/AI.md, GET /~/AGENTS.override.md, GET /%7E/AGENTS.override.md) ### Speculative - **behavioral_profile_risk_posture** — Named profiles (conservative, balanced, quick) mapping to preset+threshold+cost for simplified invocation (GET /api/profiles) - **machine_readable_reputation_surface** — Aggregate service metrics including uptime, success rate, average latency and cost (GET /api/reputation, GET /api/reputation/models) - **composable_graph_export** [LangChain Tool spec, OpenAPI 3.x, JSON Schema Draft-07] — Export the service as a composable graph node (JSON Schema, OpenAPI ref, LangChain Tool spec) (GET /api/graph/node-spec) - **feedback_loop_endpoint** — Submit and retrieve feedback on tool invocation outcomes for quality improvement (POST /api/feedback, GET /api/feedback/:id) - **intent_signature_matching** — Machine-readable intent signatures for matching natural language to tool-invocation patterns (GET /api/intents, POST /api/intents/match) - **speculative_execution_dry_run** — Dry run mode for POST /api/invoke/dry-run that validates input and returns cost estimates without executing tools (POST /api/invoke/dry-run) - **markdown_negotiation_surface** [Cloudflare Markdown for Agents] — Content negotiation for Accept: text/markdown returning markdown versions of HTML pages (Markdown response for Accept: text/markdown) - **web_bot_auth_surface** [Web Bot Authentication (Experimental)] — Bot request signature verification framework for authenticated crawler access (Middleware: Bot signature verification, Response header: X-Bot-Verified, GET /api/bot-auth/verify) - **webmcp_surface** [WebMCP Specification (W3C Web Machine Learning CG)] — WebMCP browser API exposing tools via navigator.modelContext for in-browser AI agents (JavaScript: navigator.modelContext.registerTool()) - **free_unauthenticated_invocation** — Anonymous agents invoke free-tier tools without authentication using open-weight models with tighter input limits (POST /api/invoke (unauthenticated)) - **zero_context_invocation** — Minimal-input invocation endpoint accepting shorthand formats for zero-context tool invocation without auth or session (POST /api/invoke)