accueil / serveurs / Données & BDD / io.github.erichare/astra-mcp
io.github.erichare/astra-mcp
serveur MCP (Model Context Protocol)
Aucun comportement malveillant détecté au test comportemental.
Est-ce que io.github.erichare/astra-mcp est sûr ?
Au dernier audit MCP Hub, le serveur MCP « io.github.erichare/astra-mcp » est classé « Vérifié ». Aucun comportement malveillant détecté au test comportemental. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Versions auditées & empreintes
Vérifiez la version que vous utilisez : son empreinte doit correspondre à celle listée ici — sinon vous n'utilisez pas la version auditée.
⚠ La dernière version publiée (2.1.0) n'a pas encore été auditée. Un nouveau pentest est programmé ; les verdicts ci-dessous portent sur les versions listées.
Vous utilisez ce serveur ? Suivez-le (créez un compte) pour être alerté dès qu'une nouvelle version paraît ou que le verdict change.
Les 18 outils
- connection_status≈ 142 tokens
Check whether Astra DB credentials are configured and working: where the token, endpoint, and keyspace come from (env, .env, plugin settings, Astra CLI), which database is targeted, and a live connectivity check. Call it first when another tool reports not_configured or an auth error.
Paramètres, retour & exemple (1)
Paramètrescheck· boolean · optionnel
Make a live request to verify the connection (default true).
Exemple d'appel{"name": "connection_status", "arguments": {"check": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_databases≈ 121 tokens
List the Astra databases this token can access (DevOps API): name, id, status, regions with Data API endpoints, and keyspaces. Use it to choose the `database` argument of other tools.
Paramètres, retour & exemple (1)
Paramètresinclude· string · optionnel · active | all
active (default) or all non-terminated databases.
Exemple d'appel{"name": "list_databases", "arguments": {"include": "active"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - database_overview≈ 303 tokens
Map a database: keyspaces → collections (vector dimension/metric, vectorize model, lexical/rerank, estimated counts) and tables (column and vector-column counts). Start here to see what exists. Renders an interactive overview.
Paramètres, retour & exemple (5)
Paramètresemit· string · optionnel · structured | html_file
html_file also writes a self-contained HTML page and returns a link to it — only for terminal-only hosts, when the user asks for a visual.database· string · optionnel
Database to use: name, id, or Data API endpoint URL. Omit for the configured default.keyspaces· array · optionnel
Only these keyspaces (default: all).includeCounts· boolean · optionnel
Estimated document counts per collection (one request each).maxPerKeyspace· integer · optionnel
Max collections/tables listed per keyspace.
Exemple d'appel{"name": "database_overview", "arguments": {"emit": "structured", "database": "texte", "keyspaces": [], "includeCounts": true, "maxPerKeyspace": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - describe_collection≈ 289 tokens
Show one collection's configuration and shape: vector settings, vectorize and rerank services, lexical, indexing allow/deny, default id type, estimated count, and a sample document with field types. Use before writing queries or code against it.
Paramètres, retour & exemple (5)
Paramètresemit· string · optionnel · structured | html_file
html_file also writes a self-contained HTML page and returns a link to it — only for terminal-only hosts, when the user asks for a visual.database· string · optionnel
Database to use: name, id, or Data API endpoint URL. Omit for the configured default.keyspace· string · optionnel
Keyspace. Omit for the configured/default keyspace.collection· string · requis
Collection name.includeSample· boolean · optionnel
Include one sample document (vectors omitted).
Exemple d'appel{"name": "describe_collection", "arguments": {"collection": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - describe_table≈ 268 tokens
Show one table's schema: columns and types, primary key (partition and clustering columns), indexes, vector columns, and sample rows. Use before writing queries or code against it.
Paramètres, retour & exemple (5)
Paramètresemit· string · optionnel · structured | html_file
html_file also writes a self-contained HTML page and returns a link to it — only for terminal-only hosts, when the user asks for a visual.table· string · requis
Table name.database· string · optionnel
Database to use: name, id, or Data API endpoint URL. Omit for the configured default.keyspace· string · optionnel
Keyspace. Omit for the configured/default keyspace.includeSample· boolean · optionnel
Include up to 3 sample rows (vectors omitted).
Exemple d'appel{"name": "describe_table", "arguments": {"table": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - find≈ 550 tokens
Read documents (collections) or rows (tables) with an optional Data API filter, sort, and projection. Returns pages of 20 plus nextPageState for more. For similarity search use vector_search. Renders an interactive explorer.
Paramètres, retour & exemple (10)
Paramètresemit· string · optionnel · structured | html_file
html_file also writes a self-contained HTML page and returns a link to it — only for terminal-only hosts, when the user asks for a visual.kind· string · optionnel · collection | table
Only needed when a collection and a table share the name; otherwise detected.name· string · requis
Collection or table name.sort· object · optionnel
Non-vector sort, e.g. {"createdAt": -1}. For similarity use vector_search.limit· integer · optionnel
Documents to return (rounded up to whole pages of 20).filter· object · optionnel
Data API filter, e.g. {"status": "active", "year": {"$gte": 2020}}. Typed ids as {"$uuid": "…"} / {"$objectId": "…"}.database· string · optionnel
Database to use: name, id, or Data API endpoint URL. Omit for the configured default.keyspace· string · optionnel
Keyspace. Omit for the configured/default keyspace.pageState· string · optionnel
nextPageState from a previous call, to continue paging.projection· object · optionnel
Fields to include (1) or exclude (0), e.g. {"title": 1, "author": 1}.
Exemple d'appel{"name": "find", "arguments": {"name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - vector_search≈ 712 tokens
Similarity search by natural-language `query` (server-side vectorize), an explicit `vector`, or `documentId` (more like this). `hybrid` combines vector and lexical (BM25) results with reranking on collections that have both. A filter narrows candidates. Returns ranked hits with similarity scores; renders an interactive results view.
Paramètres, retour & exemple (14)
Paramètresemit· string · optionnel · structured | html_file
html_file also writes a self-contained HTML page and returns a link to it — only for terminal-only hosts, when the user asks for a visual.kind· string · optionnel · collection | table
Only needed when a collection and a table share the name; otherwise detected.name· string · requis
Collection or table name.limit· integer · optionnel
How many hits.query· string · optionnel
Natural-language text; embedded server-side (vectorize).filter· object · optionnel
Data API filter, e.g. {"status": "active", "year": {"$gte": 2020}}. Typed ids as {"$uuid": "…"} / {"$objectId": "…"}.hybrid· boolean · optionnel
Collections with lexical + rerank: combined vector + BM25 search, reranked.idType· string · optionnel · auto | string | uuid | objectId
How to interpret documentId (auto follows the collection's defaultId).vector· array · optionnel
A query embedding (must match the dimension).database· string · optionnel
Database to use: name, id, or Data API endpoint URL. Omit for the configured default.keyspace· string · optionnel
Keyspace. Omit for the configured/default keyspace.documentId· ? · optionnel
Find items similar to this existing document (collections).projection· object · optionnel
Fields to include (1) or exclude (0), e.g. {"title": 1, "author": 1}.vectorColumn· string · optionnel
Tables only: which vector column to search (default: the only one).
Exemple d'appel{"name": "vector_search", "arguments": {"name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - count≈ 267 tokens
Exact count of documents in a collection matching a filter, up to upperBound (Data API maximum 1000); unfiltered counts also report the estimated total.
Paramètres, retour & exemple (5)
Paramètresname· string · requis
Collection name.filter· object · optionnel
Data API filter, e.g. {"status": "active", "year": {"$gte": 2020}}. Typed ids as {"$uuid": "…"} / {"$objectId": "…"}.database· string · optionnel
Database to use: name, id, or Data API endpoint URL. Omit for the configured default.keyspace· string · optionnel
Keyspace. Omit for the configured/default keyspace.upperBound· integer · optionnel
Stop counting at this many (Data API maximum 1000).
Exemple d'appel{"name": "count", "arguments": {"name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - distinct_values≈ 369 tokens
Distinct values of a field (dot paths allowed) across up to scanLimit documents or rows, optionally filtered — useful for discovering categories before filtering.
Paramètres, retour & exemple (8)
Paramètreskind· string · optionnel · collection | table
Only needed when a collection and a table share the name; otherwise detected.name· string · requis
Collection or table name.field· string · requis
Field path, e.g. "genre" or "author.country".filter· object · optionnel
Data API filter, e.g. {"status": "active", "year": {"$gte": 2020}}. Typed ids as {"$uuid": "…"} / {"$objectId": "…"}.database· string · optionnel
Database to use: name, id, or Data API endpoint URL. Omit for the configured default.keyspace· string · optionnel
Keyspace. Omit for the configured/default keyspace.maxValues· integer · optionnel
Max distinct values returned.scanLimit· integer · optionnel
Max documents scanned.
Exemple d'appel{"name": "distinct_values", "arguments": {"name": "texte", "field": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_vectorize_providers≈ 150 tokens
List the embedding (vectorize) and reranking providers and models available to the database, with dimensions and authentication options. Use before create_collection with a vectorize service.
Paramètres, retour & exemple (2)
Paramètreskind· string · optionnel · embedding | reranking | bothdatabase· string · optionnel
Database to use: name, id, or Data API endpoint URL. Omit for the configured default.
Exemple d'appel{"name": "list_vectorize_providers", "arguments": {"kind": "embedding", "database": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - code_examples≈ 247 tokens
Canonical Data API client code for Python (astrapy), TypeScript (@datastax/astra-db-ts), Java, C#, and Go from the bundled, documentation-derived example library. Use when writing application code; snippets read ASTRA_DB_APPLICATION_TOKEN / ASTRA_DB_API_ENDPOINT from the environment.
Paramètres, retour & exemple (4)
Paramètresmode· string · optionnel · content | list
content: include source; list: file names only.limit· integer · optionnelquery· string · requis
What the code should do, e.g. "create a vector collection with vectorize", "find with filter and sort".language· string · requis · python | typescript | java | csharp | go
Client language.
Exemple d'appel{"name": "code_examples", "arguments": {"query": "texte", "language": "python"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - insert≈ 346 tokens
Insert 1–1000 documents into a collection (or rows into a table), in chunks. On vectorize collections use "$vectorize": "text" to embed server-side; otherwise "$vector": [...] for your own embeddings. Reports inserted ids and any per-document errors.
Paramètres, retour & exemple (6)
Paramètreskind· string · optionnel · collection | table
Only needed when a collection and a table share the name; otherwise detected.name· string · requis
Collection or table name.ordered· boolean · optionnel
Stop at the first error (default: insert what can be inserted).database· string · optionnel
Database to use: name, id, or Data API endpoint URL. Omit for the configured default.keyspace· string · optionnel
Keyspace. Omit for the configured/default keyspace.documents· array · requis
Documents (collections) or rows (tables). Use "$vectorize": "text" for server-side embeddings on vectorize collections.
Exemple d'appel{"name": "insert", "arguments": {"name": "texte", "documents": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - update≈ 461 tokens
Update the document/row matching a filter with operators ($set, $unset, $inc, $push, …). `many` updates every match (collections only); `many` or an empty filter requires the user's confirmation. `upsert` inserts when nothing matches.
Paramètres, retour & exemple (9)
Paramètreskind· string · optionnel · collection | table
Only needed when a collection and a table share the name; otherwise detected.many· boolean · optionnel
Update every match (collections only). Requires confirmation.name· string · requis
Collection or table name.filter· object · requis
Data API filter, e.g. {"status": "active", "year": {"$gte": 2020}}. Typed ids as {"$uuid": "…"} / {"$objectId": "…"}.update· object · requis
Update operators, e.g. {"$set": {"status": "done"}, "$inc": {"views": 1}}.upsert· boolean · optionnel
Insert when nothing matches (collections).confirm· string · optionnel
Set ONLY after you described the impact and the user approved it in a later message: the exact target name. The original request is not approval; never guess or self-approve.database· string · optionnel
Database to use: name, id, or Data API endpoint URL. Omit for the configured default.keyspace· string · optionnel
Keyspace. Omit for the configured/default keyspace.
Exemple d'appel{"name": "update", "arguments": {"name": "texte", "filter": {}, "update": {}}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - delete≈ 351 tokens
Delete the document/row matching a filter. `many` deletes every match; `many` or an empty filter requires the user's confirmation.
Paramètres, retour & exemple (7)
Paramètreskind· string · optionnel · collection | table
Only needed when a collection and a table share the name; otherwise detected.many· boolean · optionnel
Delete every match. Requires confirmation.name· string · requis
Collection or table name.filter· object · requis
Data API filter, e.g. {"status": "active", "year": {"$gte": 2020}}. Typed ids as {"$uuid": "…"} / {"$objectId": "…"}.confirm· string · optionnel
Set ONLY after you described the impact and the user approved it in a later message: the exact target name. The original request is not approval; never guess or self-approve.database· string · optionnel
Database to use: name, id, or Data API endpoint URL. Omit for the configured default.keyspace· string · optionnel
Keyspace. Omit for the configured/default keyspace.
Exemple d'appel{"name": "delete", "arguments": {"name": "texte", "filter": {}}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_collection≈ 616 tokens
Create a collection: plain JSON, vector (dimension + metric), or vectorize (server-side embeddings from a provider — see list_vectorize_providers), optionally with lexical (BM25) and rerank for hybrid search, indexing allow/deny, and a default id type. Idempotent when the settings match an existing collection.
Paramètres, retour & exemple (8)
Paramètresname· string · requis
New collection name (letters, digits, underscore).rerank· object · optionnel
Reranking service (needed for hybrid).vector· object · optionnel
Omit for a non-vector collection.lexical· boolean · optionnel
Enable BM25 lexical search (needed for hybrid).database· string · optionnel
Database to use: name, id, or Data API endpoint URL. Omit for the configured default.indexing· object · optionnel
Index only (allow) or all but (deny) these fields. Deny large text fields you never filter on.keyspace· string · optionnel
Keyspace. Omit for the configured/default keyspace.defaultId· string · optionnel · objectId | uuid | uuidv6 | uuidv7
Auto-generated _id type.
Exemple d'appel{"name": "create_collection", "arguments": {"name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_table≈ 436 tokens
Create a table with typed columns (text, int, uuid, timestamp, map/list/set, vector…) and a primary key (partition columns plus optional clustering order). Then add indexes with create_index for columns you filter or vector-search on.
Paramètres, retour & exemple (6)
Paramètresname· string · requis
New table name.columns· object · requis
Column types, e.g. {"id": "uuid", "title": "text", "tags": {"type": "set", "valueType": "text"}, "embedding": {"type": "vector", "dimension": 1024}}.database· string · optionnel
Database to use: name, id, or Data API endpoint URL. Omit for the configured default.keyspace· string · optionnel
Keyspace. Omit for the configured/default keyspace.primaryKey· ? · requis
A column name, or {"partitionBy": ["user_id"], "partitionSort": {"created_at": -1}}.ifNotExists· boolean · optionnel
Exemple d'appel{"name": "create_table", "arguments": {"name": "texte", "columns": {}, "primaryKey": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_index≈ 348 tokens
Create an index on a table column: regular (filtering and sorting), vector (similarity search on a vector column), or text (BM25 lexical search). Collections index fields automatically.
Paramètres, retour & exemple (8)
Paramètresname· string · requis
Index name.type· string · optionnel · regular | vector | text
regular (filtering), vector (similarity), text (BM25).table· string · requis
Table name (collections index automatically; use indexing on create_collection).column· string · requis
Column to index.options· object · optionnel
e.g. {"metric": "dot_product"} for vector, {"caseSensitive": false} for regular.database· string · optionnel
Database to use: name, id, or Data API endpoint URL. Omit for the configured default.keyspace· string · optionnel
Keyspace. Omit for the configured/default keyspace.ifNotExists· boolean · optionnel
Exemple d'appel{"name": "create_index", "arguments": {"name": "texte", "table": "texte", "column": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - drop≈ 252 tokens
Permanently drop a collection, a table, or a table index, with all its data. Always requires the user's explicit confirmation.
Paramètres, retour & exemple (5)
Paramètreskind· string · requis · collection | table | index
What to drop.name· string · requis
Name of the collection, table, or table index.confirm· string · optionnel
Set ONLY after you described the impact and the user approved it in a later message: the exact target name. The original request is not approval; never guess or self-approve.database· string · optionnel
Database to use: name, id, or Data API endpoint URL. Omit for the configured default.keyspace· string · optionnel
Keyspace. Omit for the configured/default keyspace.
Exemple d'appel{"name": "drop", "arguments": {"kind": "collection", "name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
Badge pour votre README
Ce serveur a passé le pentest comportemental. Le badge porte son nom et renvoie à cette fiche — la preuve, c'est la fiche (verdict live qu'on contrôle), pas l'image.
[](https://dokore.fr/serveur/io.github.erichare--astra-mcp)
<a href="https://dokore.fr/serveur/io.github.erichare--astra-mcp"><img src="https://dokore.fr/badge/io.github.erichare--astra-mcp.svg" alt="Vérifié par MCP Hub" height="20"></a>
Réévalué en continu : si le comportement change, le verdict tombe et le badge disparaît. Un badge qui ne pointe pas vers une fiche dokore.fr ne prouve rien. Comment ça marche
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».
Source
@erichare/astra-mcp@2.0.0