Skip to main content
POST
/
projects
/
{projectId}
/
servers
/
{serverId}
/
export
Export a server snapshot
curl --request POST \
  --url https://app.mcpjam.com/api/v1/projects/{projectId}/servers/{serverId}/export \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{}'
import requests

url = "https://app.mcpjam.com/api/v1/projects/{projectId}/servers/{serverId}/export"

payload = {}
headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
  method: 'POST',
  headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
  body: JSON.stringify({})
};

fetch('https://app.mcpjam.com/api/v1/projects/{projectId}/servers/{serverId}/export', 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.mcpjam.com/api/v1/projects/{projectId}/servers/{serverId}/export",
  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 => [
    "Authorization: Bearer <token>",
    "Content-Type: application/json"
  ],
]);

$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://app.mcpjam.com/api/v1/projects/{projectId}/servers/{serverId}/export"

	payload := strings.NewReader("{}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Authorization", "Bearer <token>")
	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://app.mcpjam.com/api/v1/projects/{projectId}/servers/{serverId}/export")
  .header("Authorization", "Bearer <token>")
  .header("Content-Type", "application/json")
  .body("{}")
  .asString();
require 'uri'
require 'net/http'

url = URI("https://app.mcpjam.com/api/v1/projects/{projectId}/servers/{serverId}/export")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{}"

response = http.request(request)
puts response.read_body
{ "serverId": "<string>", "exportedAt": "2023-11-07T05:31:56Z", "tools": [ { "name": "<string>", "description": "<string>", "inputSchema": {}, "outputSchema": {} } ], "resources": [ { "uri": "<string>", "name": "<string>", "description": "<string>", "mimeType": "<string>" } ], "prompts": [ { "name": "<string>", "description": "<string>", "arguments": [ { "name": "<string>", "description": "<string>", "required": true } ] } ] }

Authorizations

Authorization
string
header
required

MCPJam API key (sk_…). Create one at Settings → API keys. Guest sessions cannot use the API, and API keys cannot manage other API keys.

Path Parameters

projectId
string
required

ID of the hosted project that contains the server.

serverId
string
required

ID of the server inside the project.

Body

application/json

Accepts an empty JSON object.

The body is of type object.

Response

Full server snapshot.

serverId
string
required
exportedAt
string<date-time>
required
tools
object[]
required
resources
object[]
required
prompts
object[]
required