{
  "data": {
    "a": {
      "slug": "meilisearch",
      "name": "Meilisearch",
      "vendor": "Meilisearch",
      "vendorUrl": "https://www.meilisearch.com",
      "kind": "http-api",
      "category": "vector-search",
      "summary": "Open-source search engine from Meili SAS in Paris with typo-tolerant keyword search, vector and hybrid search, filters and facets. It runs self-hosted or as Meilisearch Cloud, with a REST API, SDKs and an experimental built-in MCP route.",
      "url": "https://www.anchorterminal.com/tools/meilisearch",
      "markdownUrl": "https://www.anchorterminal.com/tools/meilisearch.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/meilisearch.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/meilisearch.json",
      "repo": "https://github.com/meilisearch/meilisearch",
      "license": "MIT for the Community Edition. Enterprise Edition code, which powers Meilisearch Cloud, is BUSL-1.1",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "npm",
          "name": "meilisearch"
        },
        {
          "registry": "pypi",
          "name": "meilisearch"
        }
      ],
      "auth": "api-key",
      "authNotes": "Every route except `/health` takes an API key as `Authorization: Bearer`. Keys are limited to named actions (`search`, `documents.add`, `indexes.get` and others) and to named indexes, with an optional expiry, and are created through `/keys` with the master key. Tenant tokens are short-lived tokens signed from a key that embed search filters for one user. A Cloud project is created by a person signed in at cloud.meilisearch.com, which generates the master key. The MCP route takes the same Bearer key and has no OAuth flow.",
      "pricing": "usage",
      "pricingNotes": "Meilisearch Cloud has a 14-day trial with no card. After that the usage-based Build plan includes 50,000 searches and 100,000 documents a month, then $0.40 per 1,000 searches and $0.30 per 1,000 documents. Resource-based projects pay hourly by instance size plus disk and bandwidth. Enterprise is by quote. The self-hosted Community Edition is free under MIT (https://www.meilisearch.com/pricing).",
      "priceSummary": "$30 / mo",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, the OpenAPI file or the pricing page (checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": 4,
      "popularity": {
        "githubStars": 59529,
        "npmWeekly": 752198,
        "pypiWeekly": null,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://www.meilisearch.com/docs",
      "llmsTxt": "https://www.meilisearch.com/llms.txt",
      "openapi": "https://www.meilisearch.com/docs/assets/release-assets/meilisearch-openapi.json",
      "capabilities": [
        "db.vector",
        "db.hybrid",
        "db.fulltext",
        "db.filters"
      ],
      "tags": [
        "hosted",
        "usage",
        "free-trial",
        "no-card",
        "open-source",
        "self-hosted",
        "mcp",
        "openapi",
        "llms-txt",
        "typescript",
        "python",
        "status-page",
        "soc2"
      ],
      "lastRelease": "2026-10-01",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 78.6,
        "grade": "A",
        "agentReady": true,
        "rank": 14,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 1,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 87,
          "maintenance": 93,
          "payments": 40,
          "reliability": 90,
          "schema": 93,
          "security": 67,
          "transparency": 74
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-09"
        },
        "negative": 0,
        "verdict": "Keyword, vector and hybrid search share one request, behind keys scoped by action and index and a published OpenAPI 3.1 file with 143 operations. The built-in MCP server is experimental and read-only, and Cloud access starts with a browser sign-up and a 14-day trial.",
        "bestFor": "Retrieval where typo-tolerant keyword relevance, filters and facets matter as much as vectors, with embeddings generated by the engine.",
        "strengths": [
          "Keyword, vector and hybrid search in one request, with `semanticRatio`, filters, facets, sorting and federated multi-index search",
          "OpenAPI 3.1 file for v1.54.3 with 143 operations, each described, checked daily in CI and attached to every release",
          "API keys limited to named actions and indexes with an expiry, plus tenant tokens that embed per-user search filters",
          "Status page shows one 16-minute outage of the San Francisco cluster in 90 days, on 24 July 2026",
          "Three minor releases between 3 August and 21 September 2026, and patch release v1.54.3 on 1 October 2026"
        ],
        "weaknesses": [
          "The `/mcp` route is an experimental feature that must be switched on, and its four tools carry no read-only annotations",
          "No per-plan request rate limit is published for Cloud, although the monitoring docs list rate limiting as a cause of failed calls",
          "The 99.9 per cent uptime SLA applies to Enterprise plans only",
          "The terms of use date from 18 March 2022 and forbid using the service for comparative analysis, which matters before any probe is run",
          "Cloud runs the Enterprise Edition, parts of which are under BUSL-1.1, and no audit log was found in the docs"
        ],
        "agentNotes": [
          "Create a key with only `search`, `documents.get` and `indexes.get` on the indexes needed. The default search key fails `listIndexes` and `describeIndex` over MCP",
          "Enable the `mcpRoute` experimental feature first. Until then `/mcp` answers `feature_not_enabled`",
          "For hybrid search send `hybrid` with an `embedder` name configured in the index settings and a `semanticRatio` from 0 to 1",
          "Writes return a `taskUid` and run asynchronously. Poll the task before searching for the new documents",
          "On 503 `too_many_search_requests`, wait for the `Retry-After` header (10 seconds) before retrying"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "A",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 78.6
          }
        ],
        "editorialScores": {
          "ergonomics": 87,
          "maintenance": 93,
          "payments": 40,
          "reliability": 90,
          "schema": 93,
          "security": 67,
          "transparency": 72
        },
        "provenanceScore": 76
      },
      "connect": {
        "install": "npm install meilisearch",
        "http": "curl \\\n  -X POST 'MEILISEARCH_URL/indexes/movies/search' \\\n  -H 'Authorization: Bearer API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  --data-binary '{ \"q\": \"american ninja\" }'",
        "claudeCode": "claude mcp add --transport http meilisearch https://your-host/mcp \\\n  --header \"Authorization: Bearer YOUR_API_KEY\""
      },
      "letme": {
        "capability": "https://letme.dev/db.vector",
        "tool": "https://letme.dev/meilisearch"
      },
      "area": "developer",
      "unitPrices": [
        {
          "item": "Build plan, 50,000 searches and 100,000 documents included",
          "unit": "month",
          "usd": 30,
          "note": "Figure from the pricing page's estimator"
        },
        {
          "item": "Extra searches on the Build plan",
          "unit": "1k-requests",
          "usd": 0.4,
          "note": "Beyond the included 50,000 a month"
        },
        {
          "item": "Cloud bandwidth, resource-based projects",
          "unit": "gb",
          "usd": 0.15,
          "note": "May vary slightly by region"
        }
      ],
      "provenance": {
        "legalEntity": "Meili SAS",
        "domain": "meilisearch.com",
        "domainRegistered": "2018-09-19",
        "endpointOnVendorDomain": false,
        "terms": "https://www.meilisearch.com/terms-of-use",
        "privacy": "https://www.meilisearch.com/privacy-policy",
        "statusPage": "https://status.meilisearch.com",
        "changelog": "https://github.com/meilisearch/meilisearch/releases",
        "securityTxt": "valid",
        "checked": "2026-10-09",
        "notes": [
          "The terms of use and privacy policy name Meili, a simplified joint stock company at 52 boulevard de Sebastopol, 75003 Paris, registered in Paris under number 844 156 364. The repository licence names Meili SAS and the SLA names Meilisearch SAS.",
          "The terms of use cover the SaaS (Meilisearch Cloud) and the website in one document, in force since 18 March 2022. The privacy policy covers the website and the service, updated 17 March 2025.",
          "Cloud project hosts in the docs are on meilisearch.io (for example `ms-xxxxxxxxxxxx-xxxx.meilisearch.io`), a second domain. The console is at cloud.meilisearch.com.",
          "security.txt gives a support@ contact, expires 26 May 2027 and points its policy at trust.meilisearch.com, which we could not reach (TLS handshake failed from our network).",
          "RDAP for meilisearch.com gives a registration date of 2018-09-19."
        ],
        "score": 76
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/meilisearch.json",
      "live": {
        "slug": "meilisearch",
        "vendorStatus": {
          "page": "https://status.meilisearch.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-10T00:50:47.762685709Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "meilisearch/meilisearch",
            "version": "v1.54.3",
            "released": "2026-10-01",
            "seenAt": "2026-10-09T17:04:40.097716968Z"
          },
          {
            "registry": "npm",
            "name": "meilisearch",
            "version": "0.62.0",
            "seenAt": "2026-10-09T17:04:39.05018526Z"
          },
          {
            "registry": "pypi",
            "name": "meilisearch",
            "version": "0.43.0",
            "released": "2026-07-22",
            "seenAt": "2026-10-09T17:04:39.969460973Z"
          }
        ],
        "githubStars": 59532,
        "npmWeekly": 752198,
        "pypiWeekly": 161080,
        "pages": [
          {
            "url": "https://www.meilisearch.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-09T18:52:04.7066609Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "dcca1e629ab7"
          },
          {
            "url": "https://www.meilisearch.com/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-09T18:52:07.026020309Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "21c832192d64"
          },
          {
            "url": "https://www.meilisearch.com/terms-of-use",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-09T18:52:09.133371798Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "d3de0e9f5e21"
          }
        ],
        "updatedAt": "2026-10-10T00:50:47.762685709Z"
      }
    },
    "answer": "Meilisearch scores 78.6 (A) on agent readiness against OpenSearch's 68 (B), and leads in 5 of 7 scored categories. OpenSearch leads on payments \u0026 pricing.",
    "b": {
      "slug": "opensearch",
      "name": "OpenSearch",
      "vendor": "OpenSearch Software Foundation",
      "vendorUrl": "https://opensearch.org",
      "kind": "http-api",
      "category": "vector-search",
      "summary": "OpenSearch is an open-source search and analytics engine with vector, text and hybrid search, run by its owner. Agents reach it through a REST API, official clients, an OpenSearch MCP Server and an MCP endpoint inside the cluster.",
      "url": "https://www.anchorterminal.com/tools/opensearch",
      "markdownUrl": "https://www.anchorterminal.com/tools/opensearch.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/opensearch.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/opensearch.json",
      "repo": "https://github.com/opensearch-project/OpenSearch",
      "license": "Apache-2.0 for the engine, the plugins, the clients, the API specification and the MCP server",
      "transports": [
        "http",
        "stdio"
      ],
      "packages": [
        {
          "registry": "oci",
          "name": "opensearchproject/opensearch"
        },
        {
          "registry": "pypi",
          "name": "opensearch-mcp-server-py"
        },
        {
          "registry": "pypi",
          "name": "opensearch-py"
        }
      ],
      "auth": "mixed",
      "authNotes": "The owner sets access up on their own cluster. The Security plugin accepts basic auth, client certificates, JWT, OpenID Connect and SAML, and since 3.7 API keys sent as `Authorization: ApiKey \u003ctoken\u003e`. Only a security administrator can create, list or revoke a key. Each key names cluster permissions and index patterns with allowed actions, lasts 90 days at most, and cannot reach system indexes or the Security API. API keys are off until enabled in `config.yml`. The MCP server takes basic auth, AWS IAM, request headers or mTLS, or no authentication.",
      "pricing": "free",
      "pricingNotes": "Free software under Apache-2.0 with nothing to buy from the foundation, so an agent can start on a local Docker container with no account or contract. The owner pays for the machines. Three certified vendors sell long-term support, and opensearch.org lists no price for it (checked 2026-10-09).",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the documentation source, the API specification or the MCP server source (checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": 9,
      "popularity": {
        "githubStars": 13800,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://docs.opensearch.org/latest/vector-search/",
      "openapi": "https://api-spec.opensearch.org/opensearch-openapi.yaml",
      "capabilities": [
        "db.vector",
        "db.hybrid",
        "db.fulltext",
        "db.filters"
      ],
      "tags": [
        "open-source",
        "self-hosted",
        "http-api",
        "mcp",
        "docker",
        "openapi",
        "api-key",
        "python",
        "javascript",
        "java",
        "go",
        "free"
      ],
      "lastRelease": "2026-09-22",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 68,
        "grade": "B",
        "agentReady": false,
        "rank": 233,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 6,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 80,
          "maintenance": 84,
          "payments": 60,
          "reliability": 77,
          "schema": 77,
          "security": 70,
          "transparency": 57
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-09"
        },
        "negative": -5,
        "negativeNotes": [
          "Until 0.12.0 (fix merged 3 August 2026, released 17 September 2026) the OpenSearch MCP Server attached its own configured credentials to any cluster URL a caller named in dynamic connection mode, which had shipped in 0.10.0 on 2 June 2026. The fix is described in the changelog and commit, and the repository lists no published advisory. Three points (https://github.com/opensearch-project/opensearch-mcp-server-py/blob/main/CHANGELOG.md).",
          "The Security plugin published four advisories on 30 April 2026, one moderate (GHSA-x83w-23jp-g6pw, document-level security not applied to documents linked by `has_child` or `has_parent`) and three low. Fixed and disclosed, so two points (https://github.com/opensearch-project/security/security/advisories)."
        ],
        "verdict": "OpenSearch 3.9.0 runs vector, text and hybrid search under Apache-2.0, with an OpenAPI 3.1 description of its REST API and API keys limited by permission and index pattern. The owner runs the cluster, no status page or SLA comes with the software, and no tool in the MCP server sets a read-only or destructive annotation.",
        "bestFor": "A team that already runs OpenSearch for logs or text search and wants vectors and hybrid search in the same cluster, with fine-grained access control.",
        "strengths": [
          "Apache-2.0 for the engine, the plugins, the clients and the MCP server, under a foundation hosted by The Linux Foundation",
          "An OpenAPI 3.1 description of the REST API is published as one file, with about 717 operations in 36 namespace files in the source repository",
          "API keys since 3.7 carry cluster and index permissions, expire within 90 days at most, and are revoked on every node at once",
          "Approximate k-NN with filters applied during the search on the Lucene and Faiss engines, plus hybrid and neural sparse search",
          "Releases follow a published schedule about every eight weeks. 3.8.0 was tagged on 31 July and 3.9.0 on 22 September 2026"
        ],
        "weaknesses": [
          "No hosted service from the foundation. The owner installs, secures and runs the cluster, and no status page or SLA exists for the software",
          "No `llms.txt` on docs.opensearch.org (HTTP 404), and doc pages carry about 160 KB of navigation text each",
          "The MCP server allows writes by default (`OPENSEARCH_SETTINGS_ALLOW_WRITE` is `true`) and no tool sets `readOnlyHint` or `destructiveHint`",
          "Before version 0.12.0 the MCP server sent its own configured credentials to any cluster URL a caller named. No advisory was published",
          "The core repository shows about 2,500 open issues, and 21 of the 25 newest carried the `untriaged` label on 9 October 2026"
        ],
        "agentNotes": [
          "Create the index with `index.knn` set to true and a `knn_vector` field of the right dimension before indexing vectors",
          "Put the `filter` clause inside the `knn` query for filtering during the search. A filter outside it runs afterwards and can return fewer than `k` hits",
          "Ask a security administrator for an API key and send it as `Authorization: ApiKey \u003ctoken\u003e`. The token is shown once and lasts 90 days at most",
          "Use `size`, `_source` and `filter_path` to keep responses small, and `search_after` with a point in time for deep paging",
          "Set `OPENSEARCH_SETTINGS_ALLOW_WRITE=false` on the MCP server unless writes are needed. `GenericOpenSearchApiTool` can call any endpoint"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 68
          }
        ],
        "editorialScores": {
          "ergonomics": 80,
          "maintenance": 84,
          "payments": 60,
          "reliability": 77,
          "schema": 77,
          "security": 70,
          "transparency": 69
        },
        "provenanceScore": 45
      },
      "connect": {
        "install": "docker run -d -p 9200:9200 -p 9600:9600 -e \"discovery.type=single-node\" -e \"OPENSEARCH_INITIAL_ADMIN_PASSWORD=\u003ccustom-admin-password\u003e\" opensearchproject/opensearch:latest",
        "http": "curl https://localhost:9200 -ku admin:\"\u003ccustom-admin-password\u003e\"",
        "config": {
          "mcpServers": {
            "opensearch": {
              "args": [
                "opensearch-mcp-server-py"
              ],
              "command": "uvx"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/db.vector",
        "tool": "https://letme.dev/opensearch"
      },
      "area": "developer",
      "provenance": {
        "legalEntity": "OpenSearch Software Foundation, a project of The Linux Foundation",
        "domain": "opensearch.org",
        "domainRegistered": "2003-05-15",
        "endpointOnVendorDomain": false,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://docs.opensearch.org/latest/version-history/",
        "securityTxt": "none",
        "checked": "2026-10-09",
        "notes": [
          "The foundation page says the OpenSearch Software Foundation is a project of The Linux Foundation and is not involved in technical oversight of the open source project.",
          "No terms or privacy document is set. The site footer links The Linux Foundation's general terms and privacy policy, which are a parent body's website notices. The Apache-2.0 licence stands in for the software.",
          "The software runs on the owner's machines, so no endpoint is on the vendor's domain and there is no status page.",
          "https://opensearch.org/.well-known/security.txt answered 404 on 9 October 2026. `SECURITY.md` in the core repository asks for reports by email to security@opensearch.org.",
          "RDAP for opensearch.org gives a registration date of 2003-05-15 and a transfer on 13 November 2024.",
          "The first release date is the 1.0 general availability date in the maintenance table on the releases page."
        ],
        "score": 45
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/opensearch.json",
      "live": {
        "slug": "opensearch",
        "versions": [
          {
            "registry": "github",
            "name": "opensearch-project/OpenSearch",
            "version": "3.9.0",
            "released": "2026-09-29",
            "seenAt": "2026-10-09T17:11:12.76716689Z"
          },
          {
            "registry": "pypi",
            "name": "opensearch-mcp-server-py",
            "version": "0.12.0",
            "released": "2026-09-17",
            "seenAt": "2026-10-09T17:11:10.759906653Z"
          },
          {
            "registry": "pypi",
            "name": "opensearch-py",
            "version": "3.2.0",
            "released": "2026-04-27",
            "seenAt": "2026-10-09T17:11:10.949518654Z"
          }
        ],
        "githubStars": 13832,
        "pypiWeekly": 75145,
        "pages": [
          {
            "url": "https://docs.opensearch.org/latest/version-history/",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-09T18:37:58.648544982Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "9aa4527e824d"
          }
        ],
        "updatedAt": "2026-10-09T18:37:58.648544982Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Meilisearch",
        "b": "OpenSearch Software Foundation",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP, stdio",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT for the Community Edition. Enterprise Edition code, which powers Meilisearch Cloud, is BUSL-1.1",
        "b": "Apache-2.0 for the engine, the plugins, the clients, the API specification and the MCP server",
        "name": "Licence"
      },
      {
        "a": "4",
        "b": "9",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-01",
        "b": "2026-09-22",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "no document linked",
        "name": "Terms last updated"
      },
      {
        "a": "2025-03-17",
        "b": "no document linked",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "60k stars, 752k npm/wk",
        "b": "14k stars",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Meilisearch scores 78.6 (A) on agent readiness against OpenSearch's 68 (B), and leads in 5 of 7 scored categories. OpenSearch leads on payments \u0026 pricing.",
        "question": "Which is better for AI agents, Meilisearch or OpenSearch?"
      },
      {
        "answer": "Meilisearch needs an API key. OpenSearch takes an API key or an OAuth sign-in.",
        "question": "Do Meilisearch and OpenSearch need an API key?"
      },
      {
        "answer": "No hosted endpoint is listed for Meilisearch. OpenSearch runs on your own machine, with no hosted endpoint listed.",
        "question": "Can an agent call Meilisearch and OpenSearch without installing anything?"
      },
      {
        "answer": "Yes. Meilisearch is open source (MIT for the Community Edition. Enterprise Edition code, which powers Meilisearch Cloud, is BUSL-1.1). OpenSearch is open source (Apache-2.0 for the engine, the plugins, the clients, the API specification and the MCP server).",
        "question": "Are Meilisearch and OpenSearch open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 90 against 77",
          "Schema \u0026 documentation, 93 against 77",
          "Agent ergonomics, 87 against 80",
          "Maintenance \u0026 community, 93 against 84",
          "Transparency \u0026 trust, 74 against 57"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "Free to start without a card",
          "No incidents deducted, where OpenSearch loses 5 points for them"
        ],
        "goodFor": "Retrieval where typo-tolerant keyword relevance, filters and facets matter as much as vectors, with embeddings generated by the engine.",
        "slug": "meilisearch",
        "watchFor": "The `/mcp` route is an experimental feature that must be switched on, and its four tools carry no read-only annotations"
      },
      {
        "aheadOn": [
          "Payments \u0026 pricing, 60 against 40"
        ],
        "also": [
          "Runs on your own machine"
        ],
        "goodFor": "A team that already runs OpenSearch for logs or text search and wants vectors and hybrid search in the same cluster, with fine-grained access control.",
        "slug": "opensearch",
        "watchFor": "No hosted service from the foundation. The owner installs, secures and runs the cluster, and no status page or SLA exists for the software"
      }
    ],
    "job": {
      "capability": "db.vector",
      "name": "Vector search"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/chroma-vs-meilisearch.json",
        "title": "Chroma API + MCP vs Meilisearch",
        "url": "https://www.anchorterminal.com/compare/chroma-vs-meilisearch"
      },
      {
        "json": "https://www.anchorterminal.com/compare/chroma-vs-opensearch.json",
        "title": "Chroma API + MCP vs OpenSearch",
        "url": "https://www.anchorterminal.com/compare/chroma-vs-opensearch"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elasticsearch-vs-meilisearch.json",
        "title": "Elasticsearch vs Meilisearch",
        "url": "https://www.anchorterminal.com/compare/elasticsearch-vs-meilisearch"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elasticsearch-vs-opensearch.json",
        "title": "Elasticsearch vs OpenSearch",
        "url": "https://www.anchorterminal.com/compare/elasticsearch-vs-opensearch"
      },
      {
        "json": "https://www.anchorterminal.com/compare/epsilla-vs-meilisearch.json",
        "title": "Epsilla Vector Database vs Meilisearch",
        "url": "https://www.anchorterminal.com/compare/epsilla-vs-meilisearch"
      },
      {
        "json": "https://www.anchorterminal.com/compare/epsilla-vs-opensearch.json",
        "title": "Epsilla Vector Database vs OpenSearch",
        "url": "https://www.anchorterminal.com/compare/epsilla-vs-opensearch"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lancedb-vs-meilisearch.json",
        "title": "LanceDB vs Meilisearch",
        "url": "https://www.anchorterminal.com/compare/lancedb-vs-meilisearch"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lancedb-vs-opensearch.json",
        "title": "LanceDB vs OpenSearch",
        "url": "https://www.anchorterminal.com/compare/lancedb-vs-opensearch"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meilisearch-vs-milvus-zilliz.json",
        "title": "Meilisearch vs Milvus and Zilliz Cloud API + MCP",
        "url": "https://www.anchorterminal.com/compare/meilisearch-vs-milvus-zilliz"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meilisearch-vs-pinecone.json",
        "title": "Meilisearch vs Pinecone API + MCP",
        "url": "https://www.anchorterminal.com/compare/meilisearch-vs-pinecone"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meilisearch-vs-qdrant.json",
        "title": "Meilisearch vs Qdrant API + MCP",
        "url": "https://www.anchorterminal.com/compare/meilisearch-vs-qdrant"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meilisearch-vs-typesense.json",
        "title": "Meilisearch vs Typesense API + MCP",
        "url": "https://www.anchorterminal.com/compare/meilisearch-vs-typesense"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meilisearch-vs-upstash-vector.json",
        "title": "Meilisearch vs Upstash Vector API + MCP",
        "url": "https://www.anchorterminal.com/compare/meilisearch-vs-upstash-vector"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meilisearch-vs-vespa.json",
        "title": "Meilisearch vs Vespa",
        "url": "https://www.anchorterminal.com/compare/meilisearch-vs-vespa"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meilisearch-vs-weaviate.json",
        "title": "Meilisearch vs Weaviate API + MCP",
        "url": "https://www.anchorterminal.com/compare/meilisearch-vs-weaviate"
      },
      {
        "json": "https://www.anchorterminal.com/compare/milvus-zilliz-vs-opensearch.json",
        "title": "Milvus and Zilliz Cloud API + MCP vs OpenSearch",
        "url": "https://www.anchorterminal.com/compare/milvus-zilliz-vs-opensearch"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opensearch-vs-pinecone.json",
        "title": "OpenSearch vs Pinecone API + MCP",
        "url": "https://www.anchorterminal.com/compare/opensearch-vs-pinecone"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opensearch-vs-qdrant.json",
        "title": "OpenSearch vs Qdrant API + MCP",
        "url": "https://www.anchorterminal.com/compare/opensearch-vs-qdrant"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opensearch-vs-typesense.json",
        "title": "OpenSearch vs Typesense API + MCP",
        "url": "https://www.anchorterminal.com/compare/opensearch-vs-typesense"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opensearch-vs-upstash-vector.json",
        "title": "OpenSearch vs Upstash Vector API + MCP",
        "url": "https://www.anchorterminal.com/compare/opensearch-vs-upstash-vector"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opensearch-vs-vespa.json",
        "title": "OpenSearch vs Vespa",
        "url": "https://www.anchorterminal.com/compare/opensearch-vs-vespa"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opensearch-vs-weaviate.json",
        "title": "OpenSearch vs Weaviate API + MCP",
        "url": "https://www.anchorterminal.com/compare/opensearch-vs-weaviate"
      }
    ],
    "scores": [
      {
        "by": 13,
        "edge": "meilisearch",
        "key": "reliability",
        "meilisearch": 90,
        "name": "Reliability",
        "opensearch": 77,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 16,
        "edge": "meilisearch",
        "key": "schema",
        "meilisearch": 93,
        "name": "Schema \u0026 documentation",
        "opensearch": 77,
        "weight": 13
      },
      {
        "by": 7,
        "edge": "meilisearch",
        "key": "ergonomics",
        "meilisearch": 87,
        "name": "Agent ergonomics",
        "opensearch": 80,
        "weight": 13
      },
      {
        "by": 3,
        "edge": "opensearch",
        "key": "security",
        "meilisearch": 67,
        "name": "Security \u0026 auth",
        "opensearch": 70,
        "weight": 14
      },
      {
        "by": 20,
        "edge": "opensearch",
        "key": "payments",
        "meilisearch": 40,
        "name": "Payments \u0026 pricing",
        "opensearch": 60,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 9,
        "edge": "meilisearch",
        "key": "maintenance",
        "meilisearch": 93,
        "name": "Maintenance \u0026 community",
        "opensearch": 84,
        "weight": 7
      },
      {
        "by": 17,
        "edge": "meilisearch",
        "key": "transparency",
        "meilisearch": 74,
        "name": "Transparency \u0026 trust",
        "opensearch": 57,
        "weight": 7
      }
    ],
    "summary": "Meilisearch scores 78.6 (A) on agent readiness against OpenSearch's 68 (B), and leads in 5 of 7 scored categories. OpenSearch leads on payments \u0026 pricing. Both do vector search.",
    "verdicts": {
      "meilisearch": "Keyword, vector and hybrid search share one request, behind keys scoped by action and index and a published OpenAPI 3.1 file with 143 operations. The built-in MCP server is experimental and read-only, and Cloud access starts with a browser sign-up and a 14-day trial.",
      "opensearch": "OpenSearch 3.9.0 runs vector, text and hybrid search under Apache-2.0, with an OpenAPI 3.1 description of its REST API and API keys limited by permission and index pattern. The owner runs the cluster, no status page or SLA comes with the software, and no tool in the MCP server sets a read-only or destructive annotation."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/meilisearch-vs-opensearch",
    "json": "https://www.anchorterminal.com/compare/meilisearch-vs-opensearch.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/meilisearch-vs-opensearch.md",
    "slim": "https://www.anchorterminal.com/compare/meilisearch-vs-opensearch.min.md"
  },
  "markdown": "Meilisearch scores 78.6 (A) on agent readiness against OpenSearch's 68 (B), and leads in 5 of 7 scored categories. OpenSearch leads on payments \u0026 pricing. Both do vector search.\n\n- Meilisearch: grade A, 78.6/100, rank #14 of 950. Markdown https://www.anchorterminal.com/tools/meilisearch.md · JSON https://www.anchorterminal.com/api/v1/tools/meilisearch.json\n- OpenSearch: grade B, 68/100, rank #233 of 950. Markdown https://www.anchorterminal.com/tools/opensearch.md · JSON https://www.anchorterminal.com/api/v1/tools/opensearch.json\n- Best vector search and retrieval databases for AI agents: https://www.anchorterminal.com/best/vector-search/index.md\n- All 85 retrieval comparisons: https://www.anchorterminal.com/compare/vector-search/index.md\n\n## Which one, for what\n\n### Meilisearch (A)\n\nGood for: Retrieval where typo-tolerant keyword relevance, filters and facets matter as much as vectors, with embeddings generated by the engine.\n\nAhead on:\n- Reliability, 90 against 77\n- Schema \u0026 documentation, 93 against 77\n- Agent ergonomics, 87 against 80\n- Maintenance \u0026 community, 93 against 84\n- Transparency \u0026 trust, 74 against 57\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- Free to start without a card\n- No incidents deducted, where OpenSearch loses 5 points for them\n\nWatch for: The `/mcp` route is an experimental feature that must be switched on, and its four tools carry no read-only annotations\n\n### OpenSearch (B)\n\nGood for: A team that already runs OpenSearch for logs or text search and wants vectors and hybrid search in the same cluster, with fine-grained access control.\n\nAhead on:\n- Payments \u0026 pricing, 60 against 40\n\nAlso in its favour:\n- Runs on your own machine\n\nWatch for: No hosted service from the foundation. The owner installs, secures and runs the cluster, and no status page or SLA exists for the software\n\n\n## Score by category\n\n| Category | Weight | Meilisearch | OpenSearch | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 90 | 77 | Meilisearch +13 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 93 | 77 | Meilisearch +16 |\n| Agent ergonomics | 13% (16.2 this run) | 87 | 80 | Meilisearch +7 |\n| Security \u0026 auth | 14% (17.5 this run) | 67 | 70 | OpenSearch +3 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 60 | OpenSearch +20 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 93 | 84 | Meilisearch +9 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 74 | 57 | Meilisearch +17 |\n| Negative events | ≤15 | 0 | -5 | |\n| **Total** | | **78.6 · A** | **68 · B** | |\n\n## Facts side by side\n\n| Fact | Meilisearch | OpenSearch |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Meilisearch | OpenSearch Software Foundation |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports | HTTP | HTTP, stdio |\n| Auth | API key | OAuth or key |\n| Pricing | Pay per use | Free |\n| x402 | no | no |\n| Licence | MIT for the Community Edition. Enterprise Edition code, which powers Meilisearch Cloud, is BUSL-1.1 | Apache-2.0 for the engine, the plugins, the clients, the API specification and the MCP server |\n| Tools exposed | 4 | 9 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | no |\n| Last release | 2026-10-01 | 2026-09-22 |\n| Terms last updated | no date given | no document linked |\n| Privacy policy last updated | 2025-03-17 | no document linked |\n| Customer content may train models | not found in the text |  |\n| Terms restrict automated access | not found in the text |  |\n| Terms restrict benchmarking | yes |  |\n| Terms or service can change without notice | not found in the text |  |\n| Arbitration or class-action waiver | not found in the text |  |\n| Popularity | 60k stars, 752k npm/wk | 14k stars |\n\n## Verdicts\n\n**Meilisearch.** Keyword, vector and hybrid search share one request, behind keys scoped by action and index and a published OpenAPI 3.1 file with 143 operations. The built-in MCP server is experimental and read-only, and Cloud access starts with a browser sign-up and a 14-day trial.\n\n**OpenSearch.** OpenSearch 3.9.0 runs vector, text and hybrid search under Apache-2.0, with an OpenAPI 3.1 description of its REST API and API keys limited by permission and index pattern. The owner runs the cluster, no status page or SLA comes with the software, and no tool in the MCP server sets a read-only or destructive annotation.\n\n## Before you call either\n\n### Meilisearch\n\n1. Create a key with only `search`, `documents.get` and `indexes.get` on the indexes needed. The default search key fails `listIndexes` and `describeIndex` over MCP\n2. Enable the `mcpRoute` experimental feature first. Until then `/mcp` answers `feature_not_enabled`\n3. For hybrid search send `hybrid` with an `embedder` name configured in the index settings and a `semanticRatio` from 0 to 1\n4. Writes return a `taskUid` and run asynchronously. Poll the task before searching for the new documents\n5. On 503 `too_many_search_requests`, wait for the `Retry-After` header (10 seconds) before retrying\n\n### OpenSearch\n\n1. Create the index with `index.knn` set to true and a `knn_vector` field of the right dimension before indexing vectors\n2. Put the `filter` clause inside the `knn` query for filtering during the search. A filter outside it runs afterwards and can return fewer than `k` hits\n3. Ask a security administrator for an API key and send it as `Authorization: ApiKey \u003ctoken\u003e`. The token is shown once and lasts 90 days at most\n4. Use `size`, `_source` and `filter_path` to keep responses small, and `search_after` with a point in time for deep paging\n5. Set `OPENSEARCH_SETTINGS_ALLOW_WRITE=false` on the MCP server unless writes are needed. `GenericOpenSearchApiTool` can call any endpoint\n\n## Questions\n\n### Which is better for AI agents, Meilisearch or OpenSearch?\n\nMeilisearch scores 78.6 (A) on agent readiness against OpenSearch's 68 (B), and leads in 5 of 7 scored categories. OpenSearch leads on payments \u0026 pricing.\n\n### Do Meilisearch and OpenSearch need an API key?\n\nMeilisearch needs an API key. OpenSearch takes an API key or an OAuth sign-in.\n\n### Can an agent call Meilisearch and OpenSearch without installing anything?\n\nNo hosted endpoint is listed for Meilisearch. OpenSearch runs on your own machine, with no hosted endpoint listed.\n\n### Are Meilisearch and OpenSearch open source?\n\nYes. Meilisearch is open source (MIT for the Community Edition. Enterprise Edition code, which powers Meilisearch Cloud, is BUSL-1.1). OpenSearch is open source (Apache-2.0 for the engine, the plugins, the clients, the API specification and the MCP server).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/meilisearch-vs-opensearch.json, and with the fewest tokens: https://www.anchorterminal.com/compare/meilisearch-vs-opensearch.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"meilisearch\", \"b\": \"opensearch\"}`. From a terminal: `anchor compare meilisearch opensearch`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/meilisearch.json and https://www.anchorterminal.com/api/v1/tools/opensearch.json\n\n## Other comparisons with Meilisearch or OpenSearch\n\n- [Chroma API + MCP vs Meilisearch](https://www.anchorterminal.com/compare/chroma-vs-meilisearch.md)\n- [Chroma API + MCP vs OpenSearch](https://www.anchorterminal.com/compare/chroma-vs-opensearch.md)\n- [Elasticsearch vs Meilisearch](https://www.anchorterminal.com/compare/elasticsearch-vs-meilisearch.md)\n- [Elasticsearch vs OpenSearch](https://www.anchorterminal.com/compare/elasticsearch-vs-opensearch.md)\n- [Epsilla Vector Database vs Meilisearch](https://www.anchorterminal.com/compare/epsilla-vs-meilisearch.md)\n- [Epsilla Vector Database vs OpenSearch](https://www.anchorterminal.com/compare/epsilla-vs-opensearch.md)\n- [LanceDB vs Meilisearch](https://www.anchorterminal.com/compare/lancedb-vs-meilisearch.md)\n- [LanceDB vs OpenSearch](https://www.anchorterminal.com/compare/lancedb-vs-opensearch.md)\n- [Meilisearch vs Milvus and Zilliz Cloud API + MCP](https://www.anchorterminal.com/compare/meilisearch-vs-milvus-zilliz.md)\n- [Meilisearch vs Pinecone API + MCP](https://www.anchorterminal.com/compare/meilisearch-vs-pinecone.md)\n- [Meilisearch vs Qdrant API + MCP](https://www.anchorterminal.com/compare/meilisearch-vs-qdrant.md)\n- [Meilisearch vs Typesense API + MCP](https://www.anchorterminal.com/compare/meilisearch-vs-typesense.md)\n- [Meilisearch vs Upstash Vector API + MCP](https://www.anchorterminal.com/compare/meilisearch-vs-upstash-vector.md)\n- [Meilisearch vs Vespa](https://www.anchorterminal.com/compare/meilisearch-vs-vespa.md)\n- [Meilisearch vs Weaviate API + MCP](https://www.anchorterminal.com/compare/meilisearch-vs-weaviate.md)\n- [Milvus and Zilliz Cloud API + MCP vs OpenSearch](https://www.anchorterminal.com/compare/milvus-zilliz-vs-opensearch.md)\n- [OpenSearch vs Pinecone API + MCP](https://www.anchorterminal.com/compare/opensearch-vs-pinecone.md)\n- [OpenSearch vs Qdrant API + MCP](https://www.anchorterminal.com/compare/opensearch-vs-qdrant.md)\n- [OpenSearch vs Typesense API + MCP](https://www.anchorterminal.com/compare/opensearch-vs-typesense.md)\n- [OpenSearch vs Upstash Vector API + MCP](https://www.anchorterminal.com/compare/opensearch-vs-upstash-vector.md)\n- [OpenSearch vs Vespa](https://www.anchorterminal.com/compare/opensearch-vs-vespa.md)\n- [OpenSearch vs Weaviate API + MCP](https://www.anchorterminal.com/compare/opensearch-vs-weaviate.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-10",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Meilisearch vs OpenSearch",
        "url": ""
      }
    ],
    "description": "Meilisearch scores 78.6 (A) to OpenSearch's 68 (B) for vector search. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Meilisearch A 78.6",
      "OpenSearch B 68",
      "scores"
    ],
    "h1": "Meilisearch vs OpenSearch",
    "image": "https://www.anchorterminal.com/assets/og/compare-meilisearch-vs-opensearch.png",
    "path": "/compare/meilisearch-vs-opensearch",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Meilisearch vs OpenSearch for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/meilisearch-vs-opensearch"
  },
  "tokens": {
    "markdown": 2600,
    "slim": 730
  },
  "version": 1
}
