Mounts POST/GET/DELETE /mcp on one face’s mux (MCP_CONTRACTS.md 9).
This page is generated from the Depot route table. Every operation carries the permission it needs and the anchor an agent can link to.
GET /mcp
Section titled “GET /mcp”GETpublic facehosteditmspremoteIdempotentNot fully resolved
What this page does not know
- handler
- response
These are parts of the route the extractor could not read from the source. Everything else on this page came straight from it.
Source: [object Object]
GET /mcp
Responses
Section titled “Responses”| Status | Body | Description |
|---|---|---|
200 | None | Success. The body shape was not resolved; see x-outpost-unresolved. |
Request samples
Section titled “Request samples”# This operation is idempotent. Repeating it does not repeat its effect.curl -X GET 'https://depot.example.com/mcp' \ -H 'Authorization: Bearer <oauth-bearer>'# This operation is idempotent. Repeating it does not repeat its effect.
$headers = @{ 'Authorization' = 'Bearer <oauth-bearer>'}
$response = Invoke-RestMethod ` -Method Get ` -Uri 'https://depot.example.com/mcp' ` -Headers $headers
$response | ConvertTo-Json -Depth 10# This operation is idempotent. Repeating it does not repeat its effect.
import requests
url = "https://depot.example.com/mcp"headers = { "Authorization": "Bearer <oauth-bearer>",}
response = requests.get(url, headers=headers, timeout=30)response.raise_for_status()print(response.json())// This operation is idempotent. Repeating it does not repeat its effect.package main
import ( "fmt" "io" "log" "net/http")
func main() { req, err := http.NewRequest(http.MethodGet, "https://depot.example.com/mcp", nil) if err != nil { log.Fatal(err) }
req.Header.Set("Authorization", "Bearer <oauth-bearer>")
resp, err := http.DefaultClient.Do(req) if err != nil { log.Fatal(err) } defer resp.Body.Close()
out, err := io.ReadAll(resp.Body) if err != nil { log.Fatal(err) } fmt.Println(resp.Status, string(out))}// This operation is idempotent. Repeating it does not repeat its effect.
const url = "https://depot.example.com/mcp";
const response = await fetch(url, { method: "GET", headers: { "Authorization": "Bearer <oauth-bearer>", },});
if (!response.ok) { throw new Error(`Request failed with status ${response.status}`);}
const data = await response.json();console.log(data);// This operation is idempotent. Repeating it does not repeat its effect.
using System;using System.Net.Http;
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://depot.example.com/mcp");request.Headers.TryAddWithoutValidation("Authorization", "Bearer <oauth-bearer>");
var response = await client.SendAsync(request);response.EnsureSuccessStatusCode();Console.WriteLine(await response.Content.ReadAsStringAsync());POST /mcp
Section titled “POST /mcp”POSTpublic facehosteditmspremoteNot fully resolved
What this page does not know
- handler
- response
These are parts of the route the extractor could not read from the source. Everything else on this page came straight from it.
Source: [object Object]
POST /mcp
Responses
Section titled “Responses”| Status | Body | Description |
|---|---|---|
200 | None | Success. The body shape was not resolved; see x-outpost-unresolved. |
Request samples
Section titled “Request samples”curl -X POST 'https://depot.example.com/mcp' \ -H 'Authorization: Bearer <oauth-bearer>'$headers = @{ 'Authorization' = 'Bearer <oauth-bearer>'}
$response = Invoke-RestMethod ` -Method Post ` -Uri 'https://depot.example.com/mcp' ` -Headers $headers
$response | ConvertTo-Json -Depth 10import requests
url = "https://depot.example.com/mcp"headers = { "Authorization": "Bearer <oauth-bearer>",}
response = requests.post(url, headers=headers, timeout=30)response.raise_for_status()print(response.json())package main
import ( "fmt" "io" "log" "net/http")
func main() { req, err := http.NewRequest(http.MethodPost, "https://depot.example.com/mcp", nil) if err != nil { log.Fatal(err) }
req.Header.Set("Authorization", "Bearer <oauth-bearer>")
resp, err := http.DefaultClient.Do(req) if err != nil { log.Fatal(err) } defer resp.Body.Close()
out, err := io.ReadAll(resp.Body) if err != nil { log.Fatal(err) } fmt.Println(resp.Status, string(out))}const url = "https://depot.example.com/mcp";
const response = await fetch(url, { method: "POST", headers: { "Authorization": "Bearer <oauth-bearer>", },});
if (!response.ok) { throw new Error(`Request failed with status ${response.status}`);}
const data = await response.json();console.log(data);using System;using System.Net.Http;
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://depot.example.com/mcp");request.Headers.TryAddWithoutValidation("Authorization", "Bearer <oauth-bearer>");
var response = await client.SendAsync(request);response.EnsureSuccessStatusCode();Console.WriteLine(await response.Content.ReadAsStringAsync());DELETE /mcp
Section titled “DELETE /mcp”DELETEpublic facehosteditmspremoteIdempotentNot fully resolved
What this page does not know
- handler
- response
These are parts of the route the extractor could not read from the source. Everything else on this page came straight from it.
Source: [object Object]
DELETE /mcp
Responses
Section titled “Responses”| Status | Body | Description |
|---|---|---|
200 | None | Success. The body shape was not resolved; see x-outpost-unresolved. |
Request samples
Section titled “Request samples”# This operation is idempotent. Repeating it does not repeat its effect.curl -X DELETE 'https://depot.example.com/mcp' \ -H 'Authorization: Bearer <oauth-bearer>'# This operation is idempotent. Repeating it does not repeat its effect.
$headers = @{ 'Authorization' = 'Bearer <oauth-bearer>'}
$response = Invoke-RestMethod ` -Method Delete ` -Uri 'https://depot.example.com/mcp' ` -Headers $headers
$response | ConvertTo-Json -Depth 10# This operation is idempotent. Repeating it does not repeat its effect.
import requests
url = "https://depot.example.com/mcp"headers = { "Authorization": "Bearer <oauth-bearer>",}
response = requests.delete(url, headers=headers, timeout=30)response.raise_for_status()print(response.json())// This operation is idempotent. Repeating it does not repeat its effect.package main
import ( "fmt" "io" "log" "net/http")
func main() { req, err := http.NewRequest(http.MethodDelete, "https://depot.example.com/mcp", nil) if err != nil { log.Fatal(err) }
req.Header.Set("Authorization", "Bearer <oauth-bearer>")
resp, err := http.DefaultClient.Do(req) if err != nil { log.Fatal(err) } defer resp.Body.Close()
out, err := io.ReadAll(resp.Body) if err != nil { log.Fatal(err) } fmt.Println(resp.Status, string(out))}// This operation is idempotent. Repeating it does not repeat its effect.
const url = "https://depot.example.com/mcp";
const response = await fetch(url, { method: "DELETE", headers: { "Authorization": "Bearer <oauth-bearer>", },});
if (!response.ok) { throw new Error(`Request failed with status ${response.status}`);}
const data = await response.json();console.log(data);// This operation is idempotent. Repeating it does not repeat its effect.
using System;using System.Net.Http;
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Delete, "https://depot.example.com/mcp");request.Headers.TryAddWithoutValidation("Authorization", "Bearer <oauth-bearer>");
var response = await client.SendAsync(request);response.EnsureSuccessStatusCode();Console.WriteLine(await response.Content.ReadAsStringAsync());OPTIONS /mcp
Section titled “OPTIONS /mcp”OPTIONSNo permission neededpublic facehosteditmspremoteIdempotent
Source: [object Object]
mcpPreflight answers a browser client’s CORS preflight, which carries no credentials (the bearer branch lets it through).
Any origin, never credentials; 404 off the canonical Host like the route itself.
Responses
Section titled “Responses”| Status | Body | Description |
|---|---|---|
204 | None | Success, with no body. |
404 | application/problem+json, ProblemDetails | No resource matches. |
Request samples
Section titled “Request samples”# This operation is public. It takes no credentials.# This operation is idempotent. Repeating it does not repeat its effect.curl -X OPTIONS 'https://depot.example.com/mcp' \ -H 'Accept: application/json'# This operation is public. It takes no credentials.# This operation is idempotent. Repeating it does not repeat its effect.
$headers = @{ 'Accept' = 'application/json'}
$response = Invoke-RestMethod ` -Method Options ` -Uri 'https://depot.example.com/mcp' ` -Headers $headers
$response | ConvertTo-Json -Depth 10# This operation is public. It takes no credentials.# This operation is idempotent. Repeating it does not repeat its effect.
import requests
url = "https://depot.example.com/mcp"headers = { "Accept": "application/json",}
response = requests.options(url, headers=headers, timeout=30)response.raise_for_status()print(response.json())// This operation is public. It takes no credentials.// This operation is idempotent. Repeating it does not repeat its effect.package main
import ( "fmt" "io" "log" "net/http")
func main() { req, err := http.NewRequest(http.MethodOptions, "https://depot.example.com/mcp", nil) if err != nil { log.Fatal(err) }
req.Header.Set("Accept", "application/json")
resp, err := http.DefaultClient.Do(req) if err != nil { log.Fatal(err) } defer resp.Body.Close()
out, err := io.ReadAll(resp.Body) if err != nil { log.Fatal(err) } fmt.Println(resp.Status, string(out))}// This operation is public. It takes no credentials.// This operation is idempotent. Repeating it does not repeat its effect.
const url = "https://depot.example.com/mcp";
const response = await fetch(url, { method: "OPTIONS", headers: { "Accept": "application/json", },});
if (!response.ok) { throw new Error(`Request failed with status ${response.status}`);}
const data = await response.json();console.log(data);// This operation is public. It takes no credentials.// This operation is idempotent. Repeating it does not repeat its effect.
using System;using System.Net.Http;
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Options, "https://depot.example.com/mcp");request.Headers.TryAddWithoutValidation("Accept", "application/json");
var response = await client.SendAsync(request);response.EnsureSuccessStatusCode();Console.WriteLine(await response.Content.ReadAsStringAsync());Content is licensed CC BY 4.0. Code samples are MIT. Outpost and the Outpost mark are trademarks of Outpost Business Solutions, PBC and are not covered by either license.