Strumento: read_file
Restituisce i contenuti di un file all'interno di un workspace Dataform, incluse le modifiche non commit.
Utilizza questo strumento per leggere il file workflow_settings.yaml del workspace, che contiene le impostazioni di compilazione della pipeline, come il set di dati BigQuery predefinito, la località predefinita e la versione di Dataform Core. Questo file si trova nella directory principale della pipeline, che non è necessariamente la radice dello spazio di lavoro, in quanto un repository può contenere diverse pipeline in sottodirectory. Individua il file con lo strumento search_files.
Per leggere un file di cui è stato eseguito il commit direttamente dal repository senza uno spazio di lavoro, utilizza lo strumento read_repository_file. Tieni presente che read_repository_file funziona solo sui repository non connessi a un host Git remoto.
Il valore parametro workspace deve essere nel formato projects/{project_id}/locations/{location}/repositories/{repository}/workspaces/{workspace}.
Il valore parametro path è il percorso relativo al file dalla radice del workspace. Non utilizzare directory traversal, ad esempio ... I percorsi validi possono essere ottenuti utilizzando gli strumenti query_directory_contents o search_files.
Il valore parametro revision seleziona facoltativamente una revisione Git specifica del file. Se omesso, viene restituito lo stato attuale non sottoposto a commit del file.
Il seguente esempio di codice mostra come utilizzare curl per chiamare lo strumento MCP read_file.
| Richiesta curl |
|---|
curl --location 'https://dataform.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "read_file", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
Schema di input
ReadFile messaggio di richiesta.
ReadFileRequest
| Rappresentazione JSON |
|---|
{ "workspace": string, "path": string, "revision": string } |
| Campi | |
|---|---|
workspace |
Obbligatorio. Il nome del workspace. |
path |
Obbligatorio. Il percorso completo del file, incluso il nome file, relativo alla radice dello spazio di lavoro. |
revision |
Facoltativo. La revisione Git del file da restituire. Se lasciato vuoto, verranno restituiti i contenuti attuali di |
Schema di output
Messaggio di risposta ReadFile.
ReadFileResponse
| Rappresentazione JSON |
|---|
{ "fileContents": string } |
| Campi | |
|---|---|
fileContents |
I contenuti del file. Una stringa con codifica in base64. |
Annotazioni dello strumento
Le annotazioni dello strumento vengono inviate ai client MCP per descrivere il rischio di base di un determinato strumento. La maggior parte dei client considera questi suggerimenti non attendibili, ma possono essere utilizzati per decidere quando inviare a un utente una richiesta di conferma.
Oltre alla stringa del titolo, sono definiti i seguenti suggerimenti booleani:
readOnlyHint: se è true, lo strumento non modifica il suo ambiente. Valore predefinito: false.destructiveHint: se è true, lo strumento può eseguire azioni distruttive. Se il valore è false, lo strumento può eseguire solo azioni additive. Valore predefinito: true.idempotentHint: se è true, chiamare ripetutamente lo strumento con gli stessi argomenti non avrà alcun effetto aggiuntivo sul suo ambiente. Valore predefinito: false.openWorldHint: se è true, lo strumento può interagire con un "open world" di entità esterne. Se è false, lo strumento può interagire solo con le entità interne. Ad esempio, uno strumento di ricerca web sarebbe open world, mentre uno strumento di memoria no.
Suggerimento distruttivo: ❌ | Suggerimento idempotente: ✅ | Suggerimento di sola lettura: ✅ | Suggerimento open world: ❌