Skip to main content
Glama
erickwendel-contributions-mcp

erickwendel-contributions-mcp

erickwendel-contributions-mcp

CI Status npm version npm downloads

A Model Context Protocol (MCP) server that provides tools to query Erick Wendel's contributions across different platforms. Query talks, blog posts, and videos using natural language through Claude, Cursor or similars. This project was built using Cursor IDE with the default agent (trial version).

Quick Start

Use this MCP server directly with Claude Desktop or Cursor without installation:

{
  "mcpServers": {
    "erickwendel-contributions": {
      "command": "npx",
      "args": ["-y", "@erickwendel/contributions-mcp"]
    }
  }
}

Add this configuration to:

  • Claude Desktop: ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)

  • Cursor: ~/.cursor/mcp.json

Related MCP server: Portfolio MCP Server

Available Tools

This MCP server provides the following capabilities:

Tools

  • get-talks: Retrieves a paginated list of talks with optional filtering

    • Supports filtering by ID, title, language, city, country, and year

    • Can return counts grouped by language, country, or city

  • get-posts: Fetches posts with optional filtering and pagination

    • Supports filtering by ID, title, language, and portal

  • get-videos: Retrieves videos with optional filtering and pagination

    • Supports filtering by ID, title, and language

  • check-status: Verifies if the API is alive and responding

Prompts

  • find-content: Generate queries to find specific content by type, topic, and language

  • summarize-activity: Create summaries of content activity by year

Resources

  • erickwendel://about: Server information and capabilities metadata

  • erickwendel://statistics: Content statistics and available queries

Integration with AI Tools

Inspect MCP Server Capabilities

You can inspect this MCP server's capabilities using the MCP Inspector:

npm run inspect

This will show you all available tools, their parameters, and how to use them.

Setup

  1. Make sure you're using Node.js v20+

node -v
# v20.x.x or higher
  1. Clone this repository:

git clone https://github.com/erickwendel/erickwendel-contributions-mcp.git
cd erickwendel-contributions-mcp
  1. Install dependencies:

npm ci
  1. Run the server:

npm start

Integration with AI Tools

Cursor Setup

Add the following configuration to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "erickwendel-contributions": {
      "command": "npx",
      "args": ["-y", "@erickwendel/contributions-mcp"]
    }
  }
}

Make sure Cursor chat is in Agent mode by selecting "Agent" in the lower left side dropdown, then ask "how many videos were published about JavaScript in 2024":

Local Development

For local development, use the absolute path to the project:

{
  "mcpServers": {
    "erickwendel-contributions": {
      "command": "node",
      "args": ["--experimental-strip-types", "ABSOLUTE_PATH_TO_PROJECT/src/index.ts"]
    }
  }
}

Claude Desktop Setup

  1. Go to Claude settings

  2. Click in the Developer tab

  3. Click in edit config

  4. Open the config in a code editor

  5. Add the following configuration to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):

{
  "mcpServers": {
    "erickwendel-contributions": {
      "command": "npx",
      "args": ["-y", "@erickwendel/contributions-mcp"]
    }
  }
}

Local Development

For local development, use the absolute path to the project:

{
  "mcpServers": {
    "erickwendel-contributions": {
      "command": "node",
      "args": ["--experimental-strip-types", "ABSOLUTE_PATH_TO_PROJECT/src/index.ts"]
    }
  }
}

MCPHost with Ollama (Free Alternative)

If you don't have access to Claude Desktop or Cursor, you can use MCPHost with Ollama as a free alternative.

  1. Install MCPHost:

go install github.com/mark3labs/mcphost@latest
  1. Create a config file (e.g. ./mcp.jsonc):

{
  "mcpServers": {
    "erickwendel-contributions": {
      "command": "npx",
      "args": ["-y", "@erickwendel/contributions-mcp"]
    }
  }
}
  1. Run with Ollama:

ollama pull MODEL_NAME
mcphost --config ./mcp.jsonc -m ollama:MODEL_NAME

Local Development

For local development, update the config:

{
  "mcpServers": {
    "erickwendel-contributions": {
      "command": "node",
      "args": ["--experimental-strip-types", "ABSOLUTE_PATH_TO_PROJECT/src/index.ts"]
    }
  }
}

Example Queries

Here are some examples of queries you can ask Claude, Cursor or any MCP Client:

  1. "How many talks were given in 2023?"

  1. "Show me talks in Spanish"

  1. "Find posts about WebXR"

Development

Features

  • Built with Model Context Protocol (MCP)

  • Full MCP Capabilities: Tools, Prompts, and Resources

  • Type-safe with TypeScript and Zod schema validation

  • Native TypeScript support in Node.js without transpilation

  • Generated SDK using GenQL

  • Modular architecture with separation of concerns

  • Standard I/O transport for easy integration

  • Structured error handling

  • Compatible with Claude Desktop, Cursor, and MCPHost (free alternative)

Note: This project requires Node.js v23+ as it uses the native TypeScript support added in the last year.

Architecture

The codebase follows a modular structure:

src/
  ├── config/      # Configuration settings
  ├── types/       # TypeScript interfaces and types
  ├── tools/       # MCP tool implementations
  ├── utils/       # Utility functions
  ├── services/    # API service layer
  └── index.ts     # Main entry point

Testing

To run the test suite:

npm test

For development mode with watch:

npm run test:dev

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Author

Erick Wendel

License

This project is licensed under the MIT License - see the LICENSE file for details.

Available Tools

4 tools
check_statusA

Check if the API is alive and responding.

Inputs: no named parameters.

get_postsB

Get a list of posts with optional filtering and pagination.

Inputs: id, skip, limit, title, +2 more.

get_talksA

Get a list of talks with optional filtering and pagination.

Inputs: id, city, skip, year, +6 more.

get_videosA

Get a list of videos with optional filtering and pagination.

Inputs: id, skip, limit, title, +1 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.8/5.0

    Scored across 4 tools

    Disambiguation5/5

    Each content tool targets a clearly distinct resource type: talks, posts, or videos. check_status is clearly separated as a health check and cannot be confused with content retrieval.

    Naming Consistency4/5

    All names use snake_case and are readable. Three tools follow a get_<resource> pattern, while check_status uses a different verb, which is a minor but understandable deviation.

    Tool Count5/5

    Four tools is a tight, well-scoped surface for a small contributions server. Each tool has a clear role: listing one of three content types or checking API health.

    Completeness4/5

    The server covers its apparent core domain of listing talks, posts, and videos, plus a health check. A detail-retrieval tool for individual items is missing, but filtering and pagination reduce the impact of that gap.

    Maintenance

    ActivityMaintained
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      A
      quality
      D
      maintenance
      Converts natural language queries into valid GraphQL queries and executes them against GraphQL APIs. Includes schema introspection, query validation, execution with authentication, and query history tracking.
      5
      26
      -
    • A
      license
      A
      quality
      D
      maintenance
      Enables searching and retrieving portfolio data including experience, skills, and contact information through natural language queries.
      5
      MIT
    • A
      license
      B
      quality
      D
      maintenance
      Enables natural language exploration of OpenAPI/Swagger specs, allowing users to register APIs, browse endpoints, describe schemas, and detect breaking changes through conversational queries.
      9
      230 npm
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables querying a stateless, read-only MCP endpoint for profile information, projects, CV details, and grounded answers based on published site content.
      Apache 2.0