Quasar Markets Rejoindre gratuitement

Serveur MCP

Connectez Claude Desktop, Cursor ou votre propre agent aux données de Quasar Markets.

Présentation

Le serveur MCP de Quasar Markets expose nos outils de recherche financière aux assistants IA et à vos propres agents via le Model Context Protocol. Pointez un client vers l’endpoint ci-dessous, authentifiez-vous avec une clé API personnelle, et les outils apparaissent aux côtés des autres capacités de votre assistant.

Le serveur parle JSON-RPC 2.0 sur Streamable HTTP. Les requêtes sont uniquement en POST ; les réponses arrivent en text/event-stream, les données JSON figurant sur la ligne data.

Endpoint

https://ai-api.quasarmarkets.com/mcp

Chaque requête porte un jeton bearer : soit une clé API MCP personnelle commençant par QM_MCP_, soit votre jeton utilisateur Quasar. Les clés appartiennent à l’environnement qui les a émises — une clé créée dans un environnement est refusée ailleurs.

Démarrage rapide

Créez une clé dans l’application Quasar sous Profil → MCP, puis copiez-la. La clé s’affiche en entier et peut être renouvelée ou supprimée à tout moment.

Demandez au serveur ce qu’il sait faire. Cela renvoie chaque outil avec son schéma d’entrée :

Lister les outils

curl 'https://ai-api.quasarmarkets.com/mcp' \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -H 'Authorization: Bearer QM_MCP_your_key_here' \
  --data '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/list",
    "params": {}
  }'

Appelez-en un ensuite. La plupart des outils attendent leurs arguments dans un objet payload — l’exemple de chaque outil ci-dessous montre la forme exacte attendue.

Appeler un outil

curl 'https://ai-api.quasarmarkets.com/mcp' \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -H 'Authorization: Bearer QM_MCP_your_key_here' \
  --data '{
    "jsonrpc": "2.0",
    "id": 2,
    "method": "tools/call",
    "params": {
      "name": "quasar_list_data_sources",
      "arguments": {}
    }
  }'

Connecter un client

Claude Desktop lit sa liste de serveurs dans claude_desktop_config.json. Ajoutez l’entrée ci-dessous puis redémarrez l’application.

Claude Desktop

{
  "mcpServers": {
    "quasar-markets": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://ai-api.quasarmarkets.com/mcp",
        "--header",
        "Authorization: Bearer QM_MCP_your_key_here"
      ]
    }
  }
}

En Python, le client FastMCP se connecte avec la clé comme argument auth.

Python

import asyncio
from fastmcp import Client

async def run():
    async with Client("https://ai-api.quasarmarkets.com/mcp", auth="QM_MCP_your_key_here") as client:
        tools = await client.list_tools()
        print(f"{len(tools)} tools available")

asyncio.run(run())

Référence des outils

12 outils, lus en direct depuis le serveur. Version du catalogue 1.0.0.

Source Catalog

Public data-source registry metadata; no AI generation or user records.

quasar_list_data_sources

Lister les sources de données

Liste les sources de données Quasar actives disponibles pour l'utilisateur.

ChampTypeDescription
flatbooleanReturn every active registry entry with its parent ID. Registry membership does not grant raw-data access.

obligatoire

Exemple de requête

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "quasar_list_data_sources",
    "arguments": {}
  }
}
Exemple de réponse
{
  "detail": null,
  "data": [
    {
      "id": 1,
      "name": "Nasdaq",
      "description": "Données de marché en temps réel et fondamentales."
    },
    {
      "id": 2,
      "name": "Dépôts SEC",
      "description": "Dépôts 10-K, 10-Q et 8-K."
    },
    {
      "id": 3,
      "name": "Données économiques FRED",
      "description": "Indicateurs macroéconomiques."
    }
  ]
}

Nasdaq Data Link

Données financières fondamentales, états financiers, métadonnées et requêtes SQL en lecture seule.

quasar_nasdaq_get_stock_fundamentals

Obtenir les fondamentaux d'une action

Récupère le compte de résultat, le bilan, les flux de trésorerie et les ratios financiers d'un ticker.

ChampTypeDescription
symbol*stringSymbole du ticker
limitintegerNombre d'enregistrements par état financier (1 à 25)

obligatoire

Exemple de requête

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "quasar_nasdaq_get_stock_fundamentals",
    "arguments": {
      "payload": {
        "symbol": "AAPL",
        "limit": 3
      }
    }
  }
}
Exemple de réponse
{
  "detail": null,
  "data": {
    "symbol": "AAPL",
    "results": {
      "income_statement": [
        {
          "ticker": "AAPL",
          "revenue": 85777000000
        }
      ]
    }
  }
}

quasar_nasdaq_query_sql

Requête SQL Nasdaq

Exécute une requête SQL restreinte en lecture seule (SELECT/WITH) sur les tables autorisées, avec une limite automatique de 100.

ChampTypeDescription
sql*stringRequête SQL en lecture seule

obligatoire

Exemple de requête

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "quasar_nasdaq_query_sql",
    "arguments": {
      "payload": {
        "sql": "SELECT ticker, calendardate, revenue FROM ndaq_is WHERE ticker = 'AAPL' LIMIT 5"
      }
    }
  }
}
Exemple de réponse
{
  "detail": null,
  "data": [
    {
      "ticker": "AAPL",
      "calendardate": "2024-06-30",
      "revenue": 85777000000
    }
  ]
}

quasar_nasdaq_get_table_metadata

Obtenir les métadonnées d'une table

Récupère la description et le type des colonnes d'une table Nasdaq autorisée.

ChampTypeDescription
table_name*stringNom de table autorisé (par ex. ndaq_is)

obligatoire

Exemple de requête

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "quasar_nasdaq_get_table_metadata",
    "arguments": {
      "payload": {
        "table_name": "ndaq_is"
      }
    }
  }
}
Exemple de réponse
{
  "detail": null,
  "data": {
    "table": "NDAQ_IS",
    "columns": [
      {
        "name": "revenue",
        "type": "numeric"
      }
    ]
  }
}

quasar_nasdaq_search_data_providers

Rechercher des fournisseurs de données

Recherche parmi les fournisseurs et les catalogues de jeux de données Nasdaq Data Link.

ChampTypeDescription
query*stringMot-clé de recherche

obligatoire

Exemple de requête

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "quasar_nasdaq_search_data_providers",
    "arguments": {
      "payload": {
        "query": "crypto"
      }
    }
  }
}
Exemple de réponse
{
  "detail": null,
  "data": [
    {
      "provider_code": "NDAQ_CRYPTO",
      "name": "Indices crypto"
    }
  ]
}

quasar_nasdaq_discover_available_data

Découvrir les données disponibles

Découvre toutes les tables Nasdaq Data Link autorisées.

Cet outil ne prend aucun argument.

Exemple de requête

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "quasar_nasdaq_discover_available_data",
    "arguments": {}
  }
}
Exemple de réponse
{
  "detail": null,
  "data": {
    "available_tables": [
      "ndaq_bs",
      "ndaq_cf",
      "ndaq_fd",
      "ndaq_is",
      "ndaq_stat"
    ]
  }
}

Structured Data

Retrieve observations; the client AI writes the answer. No Quasar LLM calls.

quasar_query_source

Query a Data Source

Read an explicit FRED, Edgar or backend source operation using the resource catalog parameters and field limitations.

ChampTypeDescription
payload*objectA catalog operation with bounded scalar parameters, never a raw query.

obligatoire

Exemple de requête

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "quasar_query_source",
    "arguments": {
      "payload": {
        "source": "fred",
        "operation": "observations",
        "parameters": {
          "series_id": "UNRATE"
        },
        "limit": 12
      }
    }
  }
}

quasar_list_data_resources

List Queryable Data Resources

Discover supported resource IDs, series and parameter schemas, with coverage limitations.

Cet outil ne prend aucun argument.

Exemple de requête

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "quasar_list_data_resources",
    "arguments": {}
  }
}

quasar_query_data

Query Structured Data

Fetch a catalog series without Quasar AI generation. Unsupported requests fail without fallback.

ChampTypeDescription
payload*objectExplicit catalog selection; no natural-language or arbitrary URL execution.

obligatoire

Exemple de requête

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "quasar_query_data",
    "arguments": {
      "payload": {
        "resource": "fred",
        "series_id": "fred:unrate",
        "limit": 12
      }
    }
  }
}

quasar_search_sources

Search Sources

Find sources using provider names and subject keywords.

ChampTypeDescription
payload*object

obligatoire

Exemple de requête

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "quasar_search_sources",
    "arguments": {
      "payload": {
        "query": "unemployment"
      }
    }
  }
}

quasar_describe_source

Describe Source

Read exact operation schemas, supported entity lookups and coverage limits.

ChampTypeDescription
payload*object

obligatoire

Exemple de requête

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "quasar_describe_source",
    "arguments": {
      "payload": {
        "source": "edgar"
      }
    }
  }
}

quasar_search_source_entities

Search Source Entities

Resolve names and metrics into candidate identifiers; clarify ambiguity before querying.

ChampTypeDescription
payload*object

obligatoire

Exemple de requête

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "quasar_search_source_entities",
    "arguments": {
      "payload": {
        "source": "edgar",
        "kind": "companies",
        "query": "Apple"
      }
    }
  }
}

Erreurs

401La clé est absente, expirée ou appartient à un autre environnement. Créez ou renouvelez une clé sous Profil → MCP.
403Un administrateur a désactivé l’accès MCP pour ce compte. Contactez le support.
405L’endpoint accepte uniquement POST. Une requête GET est refusée.
200 avec isErrorLa requête était valide mais l’outil a échoué. La raison figure dans le contenu du résultat ; les erreurs de validation nomment le champ fautif.