Connect Provider Account
curl --request POST \
--url https://app.hasmcp.com/api/v1/providers/{id}/authorize \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.hasmcp.com/api/v1/providers/{id}/authorize"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.hasmcp.com/api/v1/providers/{id}/authorize', 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://app.hasmcp.com/api/v1/providers/{id}/authorize",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.hasmcp.com/api/v1/providers/{id}/authorize"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.hasmcp.com/api/v1/providers/{id}/authorize")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.hasmcp.com/api/v1/providers/{id}/authorize")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"authorizationURL": "<string>"
}{
"error": {
"code": 422,
"message": "<string>",
"data": {}
}
}{
"error": {
"code": 422,
"message": "<string>",
"data": {}
}
}Providers
Connect Provider Account
Starts the oauth2 authorization of the current user with the provider. For remote MCP providers the authorization server is discovered and an oauth2 client is registered dynamically when the provider has none. The tokens are stored as the provider’s ACCESS_TOKEN and REFRESH_TOKEN secret variables and renewed automatically.
POST
/
providers
/
{id}
/
authorize
Connect Provider Account
curl --request POST \
--url https://app.hasmcp.com/api/v1/providers/{id}/authorize \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.hasmcp.com/api/v1/providers/{id}/authorize"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.hasmcp.com/api/v1/providers/{id}/authorize', 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://app.hasmcp.com/api/v1/providers/{id}/authorize",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.hasmcp.com/api/v1/providers/{id}/authorize"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.hasmcp.com/api/v1/providers/{id}/authorize")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.hasmcp.com/api/v1/providers/{id}/authorize")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"authorizationURL": "<string>"
}{
"error": {
"code": 422,
"message": "<string>",
"data": {}
}
}{
"error": {
"code": 422,
"message": "<string>",
"data": {}
}
}Authorizations
The access token received from the authorization server in the OAuth 2.0 flow.
Path Parameters
Provider ID
Query Parameters
Connects the account for this MCP server only; its tokens are saved as variables of the server. Without it the account is shared by every server.
Pattern:
^[A-Za-z0-9]{11}$Response
The url to send the user to