---
title: "Get Tools"
method: GET
path: "/api/v1/mcp/tools"
tags: ["mcp"]
---

# Get Tools

`GET /api/v1/mcp/tools`

Return MCP tools — from cache if fresh, otherwise by fetching from remote.

On cache miss, tries manifest fetch first (fast), then falls back to full
MCP handshake. Caches the result before returning.

Pass force_refresh=true to bypass the cache and always fetch from the
remote server (the result is still cached via upsert for future requests).

The ls_user_id query parameter allows service-key callers (which don't carry
ls_user_id in auth) to specify the user for per-user OAuth cache lookups.

## Query parameters

- `url` string, required
- `oauth_provider_id` string, nullable
- `ls_user_id` string, nullable
- `force_refresh` boolean

## Response `200`

Successful Response

- unknown

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/langchain-ai/apis/langsmith.md) · [All operations](https://skmtc.net/langchain-ai/apis/langsmith/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/langchain-ai/langsmith/revisions/a0acb3a6a101/schema)
