Skip to main content
Glama
ErickWendel

Erick Wendel Contributions MCP

by ErickWendel

get_posts

Retrieve posts from Erick Wendel's contributions with filtering by ID, title, language, or portal, and pagination controls.

Instructions

Get a list of posts with optional filtering and pagination.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNoFilter posts by ID
titleNoFilter posts by title
languageNoFilter posts by language
portalNoFilter posts by portal
skipNoNumber of posts to skip
limitNoMaximum number of posts to return

Implementation Reference

  • The handler function that executes the get_posts tool logic: fetches posts via API service and returns formatted JSON results as MCP text content.
    handler: async (params: PostsParams): Promise<McpResponse> => { try { const result = await fetchPosts(params); if (!result.getPosts) { throw new Error('No results returned from API'); } const content: McpTextContent = { type: "text", text: `Posts Results:\n\n${JSON.stringify(result.getPosts, null, 2)}` }; return { content: [content], }; } catch (error) { throw new Error(`Failed to fetch posts: ${error.message}`); } }
  • Tool schema including name, description, and Zod-based input parameters for filtering and pagination.
    name: TOOL_CONFIG.posts.name, description: TOOL_CONFIG.posts.description, parameters: { id: z.string().optional().describe("Filter posts by ID"), title: z.string().optional().describe("Filter posts by title"), language: z.string().optional().describe("Filter posts by language"), portal: z.string().optional().describe("Filter posts by portal"), skip: z.number().optional().default(0).describe("Number of posts to skip"), limit: z.number().optional().default(10).describe("Maximum number of posts to return"), },
  • src/index.ts:28-33 (registration)
    Registration of the getPostsTool with the MCP server.
    server.tool( getPostsTool.name, getPostsTool.description, getPostsTool.parameters, getPostsTool.handler );
  • Helper function that performs the actual GraphQL query to fetch posts from the API.
    /** * Fetches posts with optional filtering and pagination */ export async function fetchPosts(params: { id?: string; title?: string; language?: string; portal?: string; skip?: number; limit?: number; }): Promise<PostsResponse> { const { id, title, language, portal, skip, limit } = params; const languageCode = getLanguageCode(language); return await client.query({ getPosts: { __args: { _id: id, title, language: languageCode, portal, skip, limit, }, totalCount: true, retrieved: true, processedIn: true, posts: { _id: true, title: true, abstract: true, type: true, link: true, additionalLinks: true, portal: { link: true, name: true, }, tags: true, language: true, date: true, }, }, }) as PostsResponse; }
  • Configuration defining the tool name and description for get_posts.
    posts: { name: "get_posts", description: "Get a list of posts with optional filtering and pagination." },

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/ErickWendel/erickwendel-contributions-mcp'

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