Register per-user MCP OAuth provider
curl --request POST \
--url https://api.smith.langchain.com/v1/deepagents/mcp-servers/{mcp_server_id}/oauth-provider \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: <api-key>' \
--data '{}'import requests
url = "https://api.smith.langchain.com/v1/deepagents/mcp-servers/{mcp_server_id}/oauth-provider"
payload = {}
headers = {
"X-Api-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-Api-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({})
};
fetch('https://api.smith.langchain.com/v1/deepagents/mcp-servers/{mcp_server_id}/oauth-provider', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.smith.langchain.com/v1/deepagents/mcp-servers/{mcp_server_id}/oauth-provider",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Api-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.smith.langchain.com/v1/deepagents/mcp-servers/{mcp_server_id}/oauth-provider"
payload := strings.NewReader("{}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Api-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.smith.langchain.com/v1/deepagents/mcp-servers/{mcp_server_id}/oauth-provider")
.header("X-Api-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.smith.langchain.com/v1/deepagents/mcp-servers/{mcp_server_id}/oauth-provider")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Api-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{}"
response = http.request(request)
puts response.read_body{
"oauth_provider_id": "<string>"
}
Register per-user MCP OAuth provider
Discovers and registers an OAuth provider for the authenticated user against a Deep Agents MCP server configured with per-user dynamic client mode. Idempotent when a mapping already exists.
POST
/
mcp-servers
/
{mcp_server_id}
/
oauth-provider
Register per-user MCP OAuth provider
curl --request POST \
--url https://api.smith.langchain.com/v1/deepagents/mcp-servers/{mcp_server_id}/oauth-provider \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: <api-key>' \
--data '{}'import requests
url = "https://api.smith.langchain.com/v1/deepagents/mcp-servers/{mcp_server_id}/oauth-provider"
payload = {}
headers = {
"X-Api-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-Api-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({})
};
fetch('https://api.smith.langchain.com/v1/deepagents/mcp-servers/{mcp_server_id}/oauth-provider', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.smith.langchain.com/v1/deepagents/mcp-servers/{mcp_server_id}/oauth-provider",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Api-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.smith.langchain.com/v1/deepagents/mcp-servers/{mcp_server_id}/oauth-provider"
payload := strings.NewReader("{}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Api-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.smith.langchain.com/v1/deepagents/mcp-servers/{mcp_server_id}/oauth-provider")
.header("X-Api-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.smith.langchain.com/v1/deepagents/mcp-servers/{mcp_server_id}/oauth-provider")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Api-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{}"
response = http.request(request)
puts response.read_body{
"oauth_provider_id": "<string>"
}
Authorizations
Path Parameters
MCP server ID.
Body
application/json
Deprecated. User identity is inferred from the authenticated request when available.
Response
OAuth provider registered or returned.
OAuth provider ID to use when starting an authorization session.
Was this page helpful?
⌘I

