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 🙏

© 2025 – Pkg Stats / Ryan Hefner

mcp-server-blk

v0.0.1

Published

MCP server for managing blocks schemas via API

Readme

MCP Blocks Server (TypeScript)

A Model Context Protocol (MCP) server for managing schemas in SELISE Blocks platform, built with TypeScript.

Overview

This project implements an MCP server that provides tools for creating and updating schemas in the SELISE Blocks platform. It uses the Model Context Protocol to expose these capabilities as tools that can be called by MCP clients.

Project Structure

├── src/
│   ├── index.ts            # Main server entry point (TypeScript)
│   ├── types/              # TypeScript type definitions
│   │   └── index.ts        # Common types and interfaces
│   ├── services/           # Core implementation of schema operations
│   │   ├── schemaService.ts# Unified schema operations
│   │   ├── authService.ts  # Authentication token service
│   │   └── index.ts        # Services exports
│   ├── tools/              # MCP tool definitions
│   │   ├── create_schema_tool.ts # Create schema tool definition
│   │   ├── update_schema_tool.ts # Update schema tool definition
│   │   └── index.ts              # Tools exports
│   └── utils/
│       └── logger.ts       # Logging utilities (TypeScript)
├── dist/                   # Compiled JavaScript output
├── tests/                  # Test files (JavaScript - legacy)
├── tsconfig.json          # TypeScript configuration
├── .eslintrc.json         # ESLint configuration for TypeScript
└── package.json           # Updated with TypeScript dependencies

Available Tools

This MCP server provides the following tools:

1. Create Schema

Creates a new schema in the SELISE Blocks platform.

Parameters:

  • CollectionName: Name of the collection
  • SchemaName: Name of the schema
  • SchemaType: Type of the schema (typically 1)
  • Fields: Array of field definitions with Name and Type properties
  • ProjectKey: Project key for API access

2. Update Schema

Updates an existing schema in the SELISE Blocks platform.

Parameters:

  • ItemId: GUID of the item to update
  • CollectionName: Name of the collection
  • SchemaName: Name of the schema
  • SchemaType: Type of the schema (typically 1)
  • Fields: Array of field definitions with Name and Type properties
  • ProjectKey: Project key for API access

Getting Started

Prerequisites

  • Node.js (v20 or higher)
  • npm or yarn
  • TypeScript knowledge (for development)

Installation

# Install dependencies
npm install

# Install TypeScript dependencies
npm install --save-dev typescript @types/node ts-node

Development

# Build the TypeScript code
npm run build

# Run in development mode with ts-node
npm run dev

# Watch mode for development
npm run watch

# Type checking without compilation
npm run type-check

# Linting
npm run lint

Running the Server

Production Mode (Compiled)

# Build and run
npm run build
npm start

Development Mode (Direct TypeScript)

# Run directly with ts-node
npm run dev

TypeScript Features

Type Safety

  • Full TypeScript support with strict type checking
  • Comprehensive type definitions for all MCP operations
  • Interface definitions for API requests/responses
  • Type-safe error handling

Development Experience

  • IntelliSense support in VS Code
  • Compile-time error detection
  • Automated code formatting and linting
  • Source maps for debugging

Key Types

interface CreateSchemaArgs {
  CollectionName: string;
  SchemaName: string;
  SchemaType?: number;
  Fields: Field[];
  ProjectKey: string;
}

interface Field {
  Name: string;
  Type: string;
}

Scripts

  • npm run build - Compile TypeScript to JavaScript
  • npm run start - Build and run the compiled server
  • npm run dev - Run server directly with ts-node (development)
  • npm run debug - Build and run with Node.js debugger
  • npm run clean - Remove compiled output
  • npm run watch - Watch for changes and recompile
  • npm run lint - Run ESLint on TypeScript files
  • npm run type-check - Type check without compilation

Migration from JavaScript

This project has been converted from JavaScript to TypeScript:

  • All .js files have been converted to .ts
  • Type definitions added for all functions and interfaces
  • Strict TypeScript configuration enabled
  • ESLint configured for TypeScript
  • Build process updated to compile TypeScript

Legacy JavaScript Files

The original JavaScript files are still available in the repository for reference, but the TypeScript versions should be used for development.

Environment Variables

Set these environment variables or pass them as tool parameters:

  • BLOCKS_KEY - Your blocks API key
  • USERNAME - Your username
  • USER_KEY - Your user key for authentication
  • API_BASE_URL - Api base url of blocks cloud

Example: Creating a Schema

You can ask the MCP server to create a schema for you with a prompt like this:

Can you create a schema for me with these details:
- CollectionName: "Products"
- SchemaName: "Products"
- Fields: ItemName (String), Price (Float), Stock (Float)
- ProjectKey: "my-project-123"

Logging

Enhanced logging with TypeScript support:

  • Structured logging with type-safe log entries
  • Separate error logging
  • Log file rotation
  • Console and file output

License

This project is proprietary and confidential.

Additional Resources

  • See TypeScript documentation for type definitions
  • Check the src/types/ directory for all available types
  • Original JavaScript implementation available for reference