Skip to main content
Glama
zerosync-co

Infrastructure Auto Provisioner

by zerosync-co
index.ts1.22 kB
/// <reference types="../worker-configuration.d.ts" /> import { createClient, createMCPServer, deployTerraformProjectPrompt, registerGithubApi, registerPulumiApi, registerTerraformApi, } from "../src/mod.ts"; import auth, { Props } from "./auth.ts"; import { McpAgent } from "agents/mcp"; import { env } from "cloudflare:workers"; import OAuthProvider from "@cloudflare/workers-oauth-provider"; export class AutoProvisioner extends McpAgent<Env, unknown, Props> { server = createMCPServer(); projectsClient = createClient( env.TF_SERVICE_BASE_URL, () => ({ "Authorization": `Bearer ${this.props.clerkToken}`, }), ); init() { registerGithubApi(this.server, () => this.props.githubToken); registerTerraformApi(this.server, this.projectsClient); registerPulumiApi(this.server, this.projectsClient); deployTerraformProjectPrompt(this.server); return Promise.resolve(); } } export default new OAuthProvider({ apiHandlers: { "/sse": AutoProvisioner.serveSSE("/sse"), "/mcp": AutoProvisioner.serve("/mcp"), }, defaultHandler: auth, authorizeEndpoint: "/authorize", tokenEndpoint: "/token", clientRegistrationEndpoint: "/register", });

Latest Blog Posts

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/zerosync-co/mcp-server-autoprovisioner'

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