Skip to main content
Glama
confluence.service.ts1.7 kB
import * as dotenv from "dotenv"; import { Config } from "../models/ config.model"; dotenv.config(); export class ConfluenceService { config?: Config; constructor() { this.config = { "domain-name": process.env.DOMAIN_NAME, "api-token": process.env.API_TOKEN, email: process.env.EMAIL, }; } pageIdUrl(id: number): string { return `https://${this.config?.["domain-name"]}/wiki/api/v2/pages/${id}/?body-format=atlas_doc_format`; } blogIdUrl(id: number): string { return `https://${this.config?.["domain-name"]}/wiki/api/v2/blogposts/${id}/?body-format=atlas_doc_format`; } requestPage = async (pageId: number) => { const response = await fetch(this.pageIdUrl(pageId), { method: "GET", headers: { Authorization: `Basic ${Buffer.from( `${this.config?.email}:${this.config?.["api-token"]}`, ).toString("base64")}`, Accept: "application/json", }, }); if (!response.ok) { throw new Error(`Failed http request: ${response.status}`); } const jsonDocument = await response.json(); return jsonDocument; }; requestBlogPost = async (blogId: number) => { const response = await fetch(this.blogIdUrl(blogId), { method: "GET", headers: { Authorization: `Basic ${Buffer.from( `${this.config?.email}:${this.config?.["api-token"]}`, ).toString("base64")}`, Accept: "application/json", }, }); if (!response.ok) { throw new Error(`Failed http request: ${response.status}`); } const jsonDocument = await response.json(); console.log("JSON DOCUMENT", jsonDocument); return jsonDocument; }; }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mouhamadalmounayar/mcp-confluence'

If you have feedback or need assistance with the MCP directory API, please join our Discord server