Skip to main content
Glama

request_baike

Fetch and render Baidu Baike article discussions to access Chinese encyclopedia content and generate readable analysis from structured data.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYes百度百科URL,例如:https://baike.baidu.com/item/DeepSeek

Implementation Reference

  • The main handler function for the "request_baike" tool. It takes a Baidu Baike URL, fetches discussions using BaikeClient, and returns the JSON-formatted discussions as text content or an error message.
    async ({ url }: { url: string }) => {
      try {
        const discussions = await baikeClient.getDiscussions(url);
        
        return {
          content: [
            { 
              type: "text", 
              text: JSON.stringify(discussions, null, 2)
            }
          ]
        };
      } catch (error) {
        const errorMessage = error instanceof Error 
          ? error.message 
          : "获取百科讨论时发生未知错误";
        
        return {
          content: [{ type: "text", text: errorMessage }],
          isError: true
        };
      }
    }
  • Input schema definition for the "request_baike" tool using Zod, requiring a single 'url' parameter of type string.
    { url: z.string().describe("百度百科URL,例如:https://baike.baidu.com/item/DeepSeek") },
  • src/index.ts:29-55 (registration)
    MCP server tool registration for "request_baike", including the tool name, input schema, and handler function.
    server.tool(
      "request_baike",
      { url: z.string().describe("百度百科URL,例如:https://baike.baidu.com/item/DeepSeek") },
      async ({ url }: { url: string }) => {
        try {
          const discussions = await baikeClient.getDiscussions(url);
          
          return {
            content: [
              { 
                type: "text", 
                text: JSON.stringify(discussions, null, 2)
              }
            ]
          };
        } catch (error) {
          const errorMessage = error instanceof Error 
            ? error.message 
            : "获取百科讨论时发生未知错误";
          
          return {
            content: [{ type: "text", text: errorMessage }],
            isError: true
          };
        }
      }
    );
  • BaikeClient.getDiscussions helper method: parses URL to lemmaId, makes API request to fetch Baike discussions, handles errors.
    async getDiscussions(lemmaIdOrUrl: string): Promise<BaikeDiscussionResponse> {
      const lemmaId = this.parseLemmaIdOrUrl(lemmaIdOrUrl);
      
      try {
        const response = await axios.get<BaikeDiscussionResponse>(
          `${this.apiBaseUrl}${this.discussionApiPath}?lemmaId=${lemmaId}`,
          {
            headers: {
              "Content-Type": "application/json",
              cookie: this.cookie,
            },
          }
        );
        
        return response.data;
      } catch (error: unknown) {
        if (axios.isAxiosError(error) && error.response) {
          throw new Error(`百度百科API错误: ${error.response.status} - ${JSON.stringify(error.response.data)}`);
        }
        throw error;
      }
    }
Install Server

Other Tools

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/Zzzccs123/mcp-baike-render'

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