Skip to content
This repository was archived by the owner on Nov 11, 2025. It is now read-only.

SylphxAI/tools

⚠️ DEPRECATED - MCP Tools πŸ› οΈ

This repository is archived and no longer maintained. See DEPRECATED.md for details.

Modular MCP server toolkit - 12+ tools for AI agents

Built with Turbo License pnpm

Filesystem ops β€’ Network requests β€’ Data processing β€’ RAG tools β€’ PDF extraction

Quick Start β€’ Packages β€’ Development


πŸš€ Overview

A comprehensive collection of modular tools designed for the Model Context Protocol (MCP), enabling AI agents to perform various operations efficiently.

The Problem:

Building MCP servers from scratch:
- Repetitive boilerplate code
- Inconsistent tool interfaces
- Scattered tool implementations
- No shared utilities or patterns

The Solution:

MCP Tools Monorepo:
- Modular tool architecture 🧩
- Consistent interfaces across tools 🎯
- Shared core utilities πŸ“¦
- MCP adaptors for easy integration ⚑

Result: Build MCP servers faster with reusable, well-tested tool components.


πŸ“¦ Packages

Core & Infrastructure

Package Description Purpose
tools-core Core utilities and type definitions Base framework for all tools
tools-adaptor-mcp MCP server integration adaptor Convert tools to MCP servers
tools-adaptor-vercel Vercel platform adaptor Deploy tools on Vercel

Data Processing Tools

Package Description MCP Server
tools-json JSON parsing, validation, transformation βœ… tools-json-mcp
tools-xml XML parsing and processing βœ… tools-xml-mcp
tools-base64 Base64 encoding/decoding βœ… tools-base64-mcp
tools-pdf PDF text extraction βœ… tools-pdf-mcp

System & Network Tools

Package Description MCP Server
tools-filesystem File operations (read, write, list, search) βœ… tools-filesystem-mcp
tools-net Network requests (fetch, IP info, DNS) βœ… tools-net-mcp
tools-fetch-mcp Specialized fetch tool for MCP βœ… Standalone MCP
tools-hasher Hashing utilities (MD5, SHA, etc.) βœ… tools-hasher-mcp

Specialized Tools

Package Description MCP Server
tools-rag Retrieval-Augmented Generation tools βœ… tools-rag-mcp
tools-wait Delay and timing utilities βœ… tools-wait-mcp

Pattern: Most tools follow the tools-{name} + tools-{name}-mcp pattern, separating core logic from MCP server implementation.


🎯 Use Cases

AI Agent Development

Build powerful MCP servers for AI assistants:

  • File management - Read, write, search files
  • Web scraping - Fetch and process web content
  • Document processing - Extract text from PDFs
  • Data transformation - JSON/XML/Base64 operations

Rapid Prototyping

Quickly assemble MCP servers from pre-built tools:

  • Mix and match - Combine tools as needed
  • Consistent interfaces - Predictable tool behavior
  • Shared utilities - Less code duplication

Production Deployment

Deploy robust MCP servers:

  • Vercel adaptor - Serverless deployment
  • Turborepo - Optimized builds
  • Type-safe - Full TypeScript support

πŸš€ Quick Start

Prerequisites

  • Node.js - Latest LTS version (check .nvmrc if available)
  • pnpm - Version specified in package.json packageManager field

Installation

# Clone the repository
git clone https://github.com/SylphxAI/tools.git
cd tools

# Install dependencies
pnpm install

Development Workflow

# Build all packages
pnpm build

# Build continuously during development
pnpm build:watch

# Run linting
pnpm lint

# Run tests (build first)
pnpm test

πŸ› οΈ Tech Stack

Component Technology
Monorepo Turborepo
Package Manager pnpm workspaces
Language TypeScript
Code Quality Biome (50x faster than ESLint)
Testing Vitest
MCP Protocol Model Context Protocol

πŸ’‘ Architecture

Tool Structure

Each tool follows a consistent pattern:

packages/
β”œβ”€β”€ tools-{name}/          # Core tool logic
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ index.ts       # Tool implementation
β”‚   β”‚   └── types.ts       # TypeScript types
β”‚   └── package.json
└── tools-{name}-mcp/      # MCP server wrapper
    β”œβ”€β”€ src/
    β”‚   └── index.ts       # MCP server entry
    └── package.json

Benefits

  • Separation of concerns - Core logic separate from MCP protocol
  • Reusability - Use tools outside of MCP context
  • Testability - Test core logic independently
  • Flexibility - Easy to create alternative adaptors

πŸ“– Package Details

Core Utilities

tools-core

import { defineTool } from '@sylphx/tools-core'

const myTool = defineTool({
  name: 'my-tool',
  description: 'Does something useful',
  schema: { /* Zod schema */ },
  execute: async (input) => { /* implementation */ }
})

MCP Adaptor

tools-adaptor-mcp

import { createMCPServer } from '@sylphx/tools-adaptor-mcp'
import { myTool } from '@sylphx/tools-mytool'

const server = createMCPServer({
  tools: [myTool],
  name: 'My MCP Server',
  version: '1.0.0'
})

πŸ”§ Development

Building Packages

# Build all packages
pnpm build

# Build specific package
pnpm --filter @sylphx/tools-filesystem build

# Watch mode for development
pnpm build:watch

Code Quality

# Lint all packages
pnpm lint

# Fix linting issues
pnpm lint:fix

# Format code
pnpm format

Testing

# Run all tests
pnpm test

# Run tests for specific package
pnpm --filter @sylphx/tools-json test

# Watch mode
pnpm test:watch

πŸ“‹ Creating a New Tool

Step 1: Create Core Package

# Create package directory
mkdir -p packages/tools-newtool/src

# Create package.json
cat > packages/tools-newtool/package.json <<EOF
{
  "name": "@sylphx/tools-newtool",
  "version": "1.0.0",
  "type": "module",
  "main": "./dist/index.js",
  "types": "./dist/index.d.ts"
}
EOF

Step 2: Implement Tool

// packages/tools-newtool/src/index.ts
import { defineTool } from '@sylphx/tools-core'
import { z } from 'zod'

export const newTool = defineTool({
  name: 'new-tool',
  description: 'A new tool',
  schema: z.object({
    input: z.string()
  }),
  execute: async ({ input }) => {
    // Implementation
    return { result: `Processed: ${input}` }
  }
})

Step 3: Create MCP Server

# Create MCP package
mkdir -p packages/tools-newtool-mcp/src

# Create server
cat > packages/tools-newtool-mcp/src/index.ts <<EOF
import { createMCPServer } from '@sylphx/tools-adaptor-mcp'
import { newTool } from '@sylphx/tools-newtool'

const server = createMCPServer({
  tools: [newTool],
  name: 'New Tool MCP Server',
  version: '1.0.0'
})

server.start()
EOF

🌐 Deployment

Vercel Deployment

# Using the Vercel adaptor
pnpm --filter @sylphx/tools-adaptor-vercel build

# Deploy
vercel

Docker Deployment

FROM node:lts-alpine
WORKDIR /app

# Install pnpm
RUN npm install -g pnpm

# Copy package files
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./
COPY packages ./packages

# Install dependencies
RUN pnpm install --frozen-lockfile

# Build
RUN pnpm build

# Start MCP server
CMD ["pnpm", "start"]

πŸ—ΊοΈ Roadmap

βœ… Completed

  • Core tool framework
  • MCP adaptor
  • Filesystem tools
  • Network tools
  • Data processing tools (JSON, XML, Base64, PDF)
  • Hashing utilities
  • RAG tools
  • Turborepo monorepo setup

πŸš€ Planned

  • Image processing tools
  • Database adaptors (PostgreSQL, MongoDB)
  • Authentication tools
  • Caching utilities
  • Monitoring and logging tools
  • GraphQL tools
  • WebSocket tools

🀝 Contributing

Contributions are welcome! Please follow these guidelines:

  1. Fork the repository
  2. Create a feature branch - git checkout -b feature/my-tool
  3. Follow the tool pattern - Use existing tools as reference
  4. Add tests - Ensure good coverage
  5. Update documentation - Add your tool to this README
  6. Submit a pull request

Code Style

  • Use TypeScript for all code
  • Follow Biome formatting rules
  • Write comprehensive tests
  • Add JSDoc comments for public APIs

🀝 Support

GitHub Issues

Show Your Support: ⭐ Star β€’ πŸ‘€ Watch β€’ πŸ› Report bugs β€’ πŸ’‘ Suggest features β€’ πŸ”€ Contribute


πŸ“„ License

ISC Β© Sylphx


πŸ™ Credits

Built with:

Special thanks to the MCP community ❀️


Modular. Reusable. Production-ready.
The MCP toolkit that scales with your needs

sylphx.com β€’ @SylphxAI β€’ hi@sylphx.com

About

πŸ› οΈ Monorepo for Sylphx MCP tools and servers - AI-powered development utilities

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published