mirror of
https://github.com/googleapis/genai-toolbox.git
synced 2026-02-11 15:45:06 -05:00
docs: add js samples to docsite (#1127)
This commit is contained in:
@@ -151,18 +151,31 @@ You can connect to Toolbox Cloud Run instances directly through the SDK.
|
||||
|
||||
1. Import and initialize the toolbox client with the URL retrieved above:
|
||||
|
||||
```python
|
||||
from toolbox_core import ToolboxClient, auth_methods
|
||||
{{< tabpane persist=header >}}
|
||||
{{< tab header="Python" lang="python" >}}
|
||||
from toolbox_core import ToolboxClient, auth_methods
|
||||
|
||||
# Replace with the Cloud Run service URL generated in the previous step.
|
||||
URL = "https://cloud-run-url.app"
|
||||
# Replace with the Cloud Run service URL generated in the previous step.
|
||||
URL = "https://cloud-run-url.app"
|
||||
|
||||
auth_token_provider = auth_methods.aget_google_id_token(URL) # can also use sync method
|
||||
auth_token_provider = auth_methods.aget_google_id_token(URL) # can also use sync method
|
||||
|
||||
async with ToolboxClient(
|
||||
URL,
|
||||
client_headers={"Authorization": auth_token_provider},
|
||||
) as toolbox:
|
||||
{{< /tab >}}
|
||||
{{< tab header="Javascript" lang="javascript" >}}
|
||||
import { ToolboxClient } from '@toolbox-sdk/core';
|
||||
import {getGoogleIdToken} from '@toolbox-sdk/core/auth'
|
||||
|
||||
// Replace with the Cloud Run service URL generated in the previous step.
|
||||
const URL = 'http://127.0.0.1:5000';
|
||||
const authTokenProvider = () => getGoogleIdToken(URL);
|
||||
|
||||
const client = new ToolboxClient(URL, null, {"Authorization": authTokenProvider});
|
||||
{{< /tab >}}
|
||||
{{< /tabpane >}}
|
||||
|
||||
async with ToolboxClient(
|
||||
URL,
|
||||
client_headers={"Authorization": auth_token_provider},
|
||||
) as toolbox:
|
||||
```
|
||||
|
||||
Now, you can use this client to connect to the deployed Cloud Run instance!
|
||||
|
||||
@@ -68,6 +68,10 @@ parameter when loading tools, or the `add_auth_token_getter`() /
|
||||
|
||||
### Specifying tokens during load
|
||||
|
||||
#### Python
|
||||
|
||||
Use the [Python SDK](https://github.com/googleapis/mcp-toolbox-sdk-python/tree/main).
|
||||
|
||||
{{< tabpane persist=header >}}
|
||||
{{< tab header="Core" lang="Python" >}}
|
||||
import asyncio
|
||||
@@ -135,8 +139,33 @@ if **name** == "**main**":
|
||||
asyncio.run(main()){{< /tab >}}
|
||||
{{< /tabpane >}}
|
||||
|
||||
#### Javascript/Typescript
|
||||
|
||||
Use the [JS SDK](https://github.com/googleapis/mcp-toolbox-sdk-js/tree/main).
|
||||
|
||||
```javascript
|
||||
import { ToolboxClient } from '@toolbox-sdk/core';
|
||||
|
||||
async function getAuthToken() {
|
||||
// ... Logic to retrieve ID token (e.g., from local storage, OAuth flow)
|
||||
// This example just returns a placeholder. Replace with your actual token retrieval.
|
||||
return "YOUR_ID_TOKEN" // Placeholder
|
||||
}
|
||||
|
||||
const URL = 'http://127.0.0.1:5000';
|
||||
let client = new ToolboxClient(URL);
|
||||
const authTool = await client.loadTool("my-tool", {"my_auth_app_1": getAuthToken});
|
||||
const result = await authTool({param:"value"});
|
||||
console.log(result);
|
||||
print(result)
|
||||
```
|
||||
|
||||
|
||||
### Specifying tokens for existing tools
|
||||
|
||||
#### Python
|
||||
Use the [Python SDK](https://github.com/googleapis/mcp-toolbox-sdk-python/tree/main).
|
||||
|
||||
{{< tabpane persist=header >}}
|
||||
{{< tab header="Core" lang="Python" >}}
|
||||
tools = await toolbox.load_toolset()
|
||||
@@ -182,4 +211,24 @@ authorized_tool = tools[0].add_auth_token_getters({
|
||||
{{< /tab >}}
|
||||
{{< /tabpane >}}
|
||||
|
||||
#### Javascript/Typescript
|
||||
|
||||
Use the [JS SDK](https://github.com/googleapis/mcp-toolbox-sdk-js/tree/main).
|
||||
|
||||
```javascript
|
||||
const URL = 'http://127.0.0.1:5000';
|
||||
let client = new ToolboxClient(URL);
|
||||
let tool = await client.loadTool("my-tool")
|
||||
|
||||
// for a single token
|
||||
const authorizedTool = tool.addAuthTokenGetter("my_auth", get_auth_token)
|
||||
|
||||
// OR, if multiple tokens are needed
|
||||
const multiAuthTool = tool.addAuthTokenGetters({
|
||||
"my_auth_1": getAuthToken1,
|
||||
"my_auth_2": getAuthToken2,
|
||||
})
|
||||
|
||||
```
|
||||
|
||||
## Kinds of Auth Services
|
||||
|
||||
Reference in New Issue
Block a user