npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@context-pods/server

v0.2.0

Published

Core MCP server for Context-Pods toolkit

Readme

@context-pods/server

MCP server implementation for the Context-Pods development suite.

npm version License: MIT

Overview

This package provides a complete MCP (Model Context Protocol) server implementation with built-in support for:

  • Tool registration and execution
  • Resource management
  • WebSocket and stdio transports
  • Hot reloading in development
  • Comprehensive error handling
  • TypeScript support

Installation

npm install @context-pods/server

Quick Start

Basic Server

import { MCPServer } from '@context-pods/server';

const server = new MCPServer({
  name: 'my-mcp-server',
  version: '1.0.0',
  description: 'My awesome MCP server',
});

// Register a tool
server.registerTool({
  name: 'get-weather',
  description: 'Get weather for a location',
  inputSchema: {
    type: 'object',
    properties: {
      location: { type: 'string' },
    },
    required: ['location'],
  },
  handler: async ({ location }) => {
    // Your tool logic here
    return {
      temperature: 72,
      condition: 'sunny',
      location,
    };
  },
});

// Start the server
server.start();

With Resources

server.registerResource({
  uri: 'weather://current/{location}',
  name: 'Current Weather',
  description: 'Get current weather for a location',
  mimeType: 'application/json',
  handler: async ({ location }) => {
    const weather = await fetchWeather(location);
    return {
      content: JSON.stringify(weather),
      mimeType: 'application/json',
    };
  },
});

WebSocket Server

import { WebSocketServer } from '@context-pods/server';

const wsServer = new WebSocketServer({
  port: 3000,
  server: mcpServer,
});

wsServer.start();

Features

Tool Management

  • Registration: Easy tool registration with schema validation
  • Execution: Automatic parameter validation and error handling
  • Discovery: Built-in tool listing and introspection

Resource Management

  • Dynamic Resources: Support for parameterized resource URIs
  • Multiple Formats: JSON, text, binary, and custom MIME types
  • Caching: Built-in caching support for expensive operations

Transport Support

  • stdio: For command-line integration
  • WebSocket: For network-based communication
  • Custom: Extensible transport interface

Development Features

  • Hot Reload: Automatic server restart on code changes
  • Debug Mode: Comprehensive logging and error traces
  • TypeScript: Full type safety and IntelliSense support

Configuration

interface ServerConfig {
  name: string;
  version: string;
  description?: string;
  capabilities?: {
    tools?: boolean;
    resources?: boolean;
    prompts?: boolean;
  };
  transport?: 'stdio' | 'websocket' | 'custom';
  debug?: boolean;
}

Error Handling

The server includes comprehensive error handling with custom error types:

import { ServerError, ValidationError } from '@context-pods/server';

server.registerTool({
  name: 'my-tool',
  handler: async (params) => {
    if (!params.required) {
      throw new ValidationError('Missing required parameter');
    }

    try {
      return await riskyOperation();
    } catch (error) {
      throw new ServerError('Operation failed', { cause: error });
    }
  },
});

Testing

The server includes testing utilities:

import { TestHarness } from '@context-pods/server/testing';

const harness = new TestHarness(server);

// Test tool execution
const result = await harness.executeTool('get-weather', {
  location: 'San Francisco',
});

// Test resource fetching
const resource = await harness.fetchResource('weather://current/sf');

Related Packages

License

MIT