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

@mcpc-tech/core

v0.3.37

Published

[![NPM Version](https://img.shields.io/npm/v/@mcpc-tech/core)](https://www.npmjs.com/package/@mcpc-tech/core) [![JSR](https://jsr.io/badges/@mcpc/core)](https://jsr.io/@mcpc/core)

Readme

@mcpc/core

NPM Version JSR

Build agentic MCP servers by composing existing MCP tools.

The core SDK for creating agentic Model Context Protocol (MCP) servers. Compose existing MCP tools into powerful AI agents with simple descriptions and tool references.

Installation

# npm (from npm registry)
npm install @mcpc-tech/core

# npm (from jsr)
npx jsr add @mcpc/core

# deno
deno add jsr:@mcpc/core

# pnpm (from npm registry)
pnpm add @mcpc-tech/core

# pnpm (from jsr)
pnpm add jsr:@mcpc/core

Quick Start

import { mcpc } from "@mcpc/core";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";

// Create an agentic MCP server
const server = await mcpc(
  [
    { name: "my-agent", version: "1.0.0" },
    { capabilities: { tools: {} } },
  ],
  [{
    name: "my-agent",
    description: `
      I am a coding assistant that can read files and run terminal commands.
      
      Available tools:
      <tool name="desktop-commander.read_file"/>
      <tool name="desktop-commander.execute_command"/>
    `,
    deps: {
      mcpServers: {
        "desktop-commander": {
          command: "npx",
          args: ["-y", "@wonderwhy-er/desktop-commander@latest"],
          transportType: "stdio",
        },
      },
    },
    options: { mode: "agentic" },
  }],
);

// Connect to stdio transport
await server.connect(new StdioServerTransport());

Key Concepts

Tool References

Reference tools in your agent description using XML-like syntax:

description: `
  Available tools:
  <tool name="server.tool"/>              // Basic reference
  <tool name="server.__ALL__"/>           // All tools from server
  <tool name="tool" maxResultLength="2000"/> // Limit result size
  <tool name="tool" hide/>                // Hide from public interface
  <tool name="tool" global/>              // Expose at global scope
`;

MCP Server Dependencies

Support all MCP transport types:

deps: {
  mcpServers: {
    "stdio-server": {
      command: "npx",
      args: ["-y", "some-mcp-server"],
      transportType: "stdio"
    },
    "http-server": {
      transportType: "streamable-http",
      url: "https://api.example.com/mcp/",
      headers: { "Authorization": "Bearer ${TOKEN}" }
    },
    "sse-server": {
      transportType: "sse",
      url: "https://api.example.com/sse/"
    }
  }
}

Execution Modes

  • agentic (default): Fully autonomous agent without structured workflow
  • ai_sampling: Autonomous AI SDK execution
  • ai_acp: AI SDK ACP mode for coding agents

Plugins

Extend functionality with plugins:

import { createLargeResultPlugin } from "@mcpc/core/plugins";

{
  plugins: [
    createLargeResultPlugin({ maxSize: 8000 }),
    "./plugins/custom.ts?param=value",
  ];
}

API Reference

mcpc(serverConf, composeConf?, setupCallback?)

Main entry point for creating agentic MCP servers.

Parameters:

  • serverConf - Server metadata and capabilities
  • composeConf - Array of agent composition definitions (optional)
  • setupCallback - Callback for custom setup before composition (optional)

Returns: Promise<ComposableMCPServer>

See full documentation for detailed usage.

Examples

Find complete examples in the examples/ directory:

  • 01-basic-composition.ts - Basic agent composition
  • 02-plugin-usage.ts - Using plugins
  • 13-ai-sampling-mode.ts - AI SDK sampling mode
  • 15-ai-acp-mode.ts - AI SDK ACP mode

Documentation

License

MIT