Skip to main content
Glama
index.ts1.58 kB
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"; import { YuqueMcpServer } from "./server"; import { getServerConfig } from "./config"; export async function startServer(): Promise<void> { // Check if we're running in stdio mode (e.g., via CLI) const isStdioMode = process.env.NODE_ENV === "cli" || process.argv.includes("--stdio"); const config = getServerConfig(isStdioMode); // 如果没有设置 API token,输出提示信息但不退出 if (!config.yuqueApiToken) { console.warn("No Yuque API token provided in environment. You can:"); console.warn("1. Set YUQUE_API_TOKEN in your .env file"); console.warn("2. Provide accessToken via query parameter: ?accessToken=your_token"); console.warn("Some API operations will fail without a valid token."); } const server = new YuqueMcpServer(config.yuqueApiToken || "", config.yuqueApiBaseUrl); if (isStdioMode) { console.log("Starting Yuque MCP Server in stdio mode..."); const transport = new StdioServerTransport(); await server.connect(transport); // Display available tools in stdio mode server.displayAvailableTools(); } else { console.log(`Starting Yuque MCP Server in HTTP mode on port ${config.port}...`); await server.startHttpServer(config.port); } } // If this file is being run directly, start the server if (require.main === module) { startServer().catch((error) => { console.error("Failed to start server:", error); process.exit(1); }); } export * from './server'; export * from './services/yuque';

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/HenryHaoson/Yuque-MCP-Server'

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