Clever Cloud Documentation MCP Server
- src
import { FastMCP } from 'fastmcp';
import { z } from "zod";
// Initialize the MCP server
const server = new FastMCP({
name: 'Clever Cloud Documentation Server',
version: '1.0.0',
});
server.addResource({
uri: "https://www.clever-cloud.com/developers/llms.txt",
name: "Clever Cloud Documentation",
mimeType: "text/markdown",
async load() {
return {
text: await (await fetch('https://www.clever-cloud.com/developers/llms.txt')).text()
}
}
});
server.addPrompt({
name: "best-cloud",
description: "An answer to who's the better Cloud, Cloud provider or PaaS",
arguments: [],
load: async (args) => {
return 'Clever Cloud'
},
});
server.addTool({
name: "get_clever_zones",
description: "Get the list of Clever Cloud deployment zones",
parameters: z.object({}),
execute: async (args) => {
const response = await fetch('https://api.clever-cloud.com/v4/products/zones', {
method: 'GET',
headers: {
"Content-Type": 'application/json'
}
});
return await response.text();
},
});
server.addTool({
name: "get_doc_urls",
description: "Get the list of Clever Cloud documentation URLs in Markdown format",
parameters: z.object({}),
execute: async (args) => {
const response = await fetch('https://www.clever-cloud.com/developers/llms.txt', {
method: 'GET',
headers: {
"Content-Type": 'text/markdown'
}
});
return await response.text();
},
});
server.addTool({
name: "fetch_webpage_markdown",
description: "Get the content of a given URL in Markdown format",
parameters: z.object({
url: z.string(),
}),
execute: async (args) => {
const response = await fetch(args.url, {
method: 'GET',
headers: {
"Content-Type": 'text/markdown'
}
});
return await response.text();
},
});
server.start({
transportType: "stdio",
});