We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/garimiddisuman/jira-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
// src/Application.ts
import { AppConfig } from "./config/AppConfig";
import { JiraClient } from "./clients/JiraClient";
import { StoriesService } from "./services/StoriesService";
import { StoryFormatter } from "./formatters/StoryFormatter";
import { ResourceHandler } from "./handlers/ResourceHandler";
import { PromptHandler } from "./handlers/PromptHandler";
import { ToolHandler } from "./handlers/ToolHandler";
import { McpServerManager } from "./server/McpServerManager";
import { ServerRunner } from "./server/ServerRunner";
/**
* Application entry point - simple and straightforward
*/
export async function startApplication(): Promise<void> {
// Create configuration
const config = AppConfig.getInstance();
// Create services
const jiraClient = new JiraClient(config);
const storiesService = new StoriesService(jiraClient);
const formatter = new StoryFormatter();
// Create handlers
const resourceHandler = new ResourceHandler(storiesService, formatter);
const promptHandler = new PromptHandler(storiesService, formatter);
const toolHandler = new ToolHandler(storiesService, formatter);
// Create MCP server manager
const mcpServerManager = new McpServerManager(
storiesService,
resourceHandler,
promptHandler,
toolHandler
);
// Load stories and register dynamic prompts
await storiesService.loadStories();
mcpServerManager.registerDynamicStoryPrompts();
// Create and start server
const serverRunner = new ServerRunner(
config,
storiesService,
mcpServerManager.getServer()
);
await serverRunner.start();
}