MCP Servers

模型上下文协议服务器、框架、SDK 和模板的综合目录。

S
Stepintovision.ai
作者 @elkraneo

Model Context Protocol server and ingestion toolkit for Step Into Vision — fetch the blog’s content into SQLite and expose it to MCP-aware clients.

创建于 10/8/2025
更新于 2 months ago
Repository documentation and setup instructions

Step Into Vision MCP Server

A TypeScript-powered MCP (Model Context Protocol) server that makes Step Into Vision's visionOS development content accessible to AI assistants. Serves both REST API and MCP endpoints from a unified codebase.

What it does: Fetches articles from https://stepinto.vision, converts them to AI-ready formats, and provides MCP tools/resources plus a REST API for easy access to visionOS development content.

Quick Start

1. Prerequisites

  • Node.js 18+ and npm 10+
  • (Optional) Cloudflare account for production deployment

2. Install & Run Locally

git clone <repository>
cd stepintovision.ai
npm install

# Fetch latest content from Step Into Vision
npm run ingest

# Start local development server
npm run dev

Visit http://localhost:8787 - serves both REST API and MCP endpoints.

3. Use with Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcp_servers": {
    "stepIntoVision": {
      "url": "http://localhost:8787/mcp"
    }
  }
}

What You Get

MCP Tools & Resources

  • listStepIntoVisionPosts - Browse articles with filters
  • getStepIntoVisionPost - Retrieve specific articles
  • searchStepIntoVisionPosts - Full-text search
  • stepIntoVisionPost resources - AI-ready markdown content
  • stepIntoVisionPostMeta resources - Structured metadata

REST API Endpoints

  • GET / - Service metadata
  • GET /posts - Paginated article listings
  • GET /posts/:slug - Individual article (JSON/Markdown)
  • GET /search?q=query - Keyword search
  • POST /mcp - Model Context Protocol endpoint

Deployment Options

Option 1: Local Development (Recommended for testing)

npm run dev  # http://localhost:8787

Option 2: Cloudflare Workers (Production)

Important: Cloudflare Workers Free tier has ~10ms CPU limit, so ingestion is disabled by default.

Step 1: Generate catalog locally

npm run ingest  # Creates data/stepintovision.json

Step 2: Upload to Cloudflare KV

npx wrangler kv key put catalog.json \
  --binding=STEPINTOVISION_CATALOG_KV \
  --path=data/stepintovision.json \
  --remote

Step 3: Deploy worker

npm run build
npx wrangler deploy

Alternative: Environment Variable (No KV needed)

wrangler secret put STEPINTOVISION_CATALOG < data/stepintovision.json

Option 3: Self-hosted (Node.js)

Build and run the Node.js server anywhere:

npm run build
npm start

Content Updates

Manual Updates (Recommended)

# 1. Fetch new content
npm run ingest

# 2. Upload to Cloudflare (if using Workers)
npx wrangler kv key put catalog.json --binding=STEPINTOVISION_CATALOG_KV --path=data/stepintovision.json --remote

# 3. Deploy worker (if needed)
npx wrangler deploy

Automatic Updates (Advanced)

Set STEPINTOVISION_ALLOW_WORKER_INGEST=true environment variable to enable worker-side ingestion (requires paid Cloudflare plan for sufficient CPU time).

CLI Options

Ingestion Control

# Basic ingestion
npm run ingest

# Custom options
npm run ingest -- --max-pages 10
npm run ingest -- --modified-after 2025-11-01
npm run ingest -- --output custom.json

Development

npm run dev          # Start dev server
npm run test         # Run tests
npm run check        # Format & lint
npm run build        # Build for production

MCP Client Integration

Direct HTTP Clients

[mcp_servers.stepIntoVision]
url = "http://localhost:8787/mcp"

STDIO Clients (via mcp-remote)

npx -y mcp-remote http://localhost:8787/mcp

Project Structure

src/
├── app.ts           # Shared Hono application factory
├── index.ts         # Local Node.js entrypoint
├── worker.ts        # Cloudflare Workers entrypoint
├── lib/             # Core business logic
│   ├── mcp.ts       # MCP server implementation
│   ├── catalog/     # Catalog loading strategies
│   └── wordpress.ts # WordPress ingestion
├── cli/
│   └── ingest.ts    # Content ingestion CLI

Troubleshooting

Common Issues

Q: Content isn't updating

# Solution: Manual ingestion and upload
npm run ingest
npx wrangler kv key put catalog.json --binding=STEPINTOVISION_CATALOG_KV --path=data/stepintovision.json --remote
npx wrangler deploy

Q: Worker ingestion is disabled

This is intentional! Free tier Workers have 10ms CPU limits. Use manual ingestion workflow above.

Q: TypeScript build errors

npm run check  # Auto-fixes formatting issues
npm run build  # Verify compilation

Q: Local server not loading content

# Ensure catalog exists locally
npm run ingest
npm run dev

Environment Variables

| Variable | Default | Description | |----------|---------|-------------| | STEPINTOVISION_ALLOW_WORKER_INGEST | false | Enable worker-side ingestion (requires paid plan) | | STEPINTOVISION_CATALOG | - | Fallback catalog JSON (environment binding) | | STEPINTOVISION_CATALOG_KV | - | KV namespace binding for catalog storage |

Architecture Highlights

  • Dual Interface: Same codebase serves REST API + MCP
  • Content Processing: HTML → Markdown + AI-ready metadata
  • Search: Fuse.js-powered fuzzy search
  • Flexible Storage: File-based, KV, or environment variables
  • Type Safety: Full TypeScript with Zod validation
  • Performance Optimized: Content digests, caching, efficient indexing

License

All rights reserved. Step Into Vision content remains the property of its respective creators.

快速设置
此服务器的安装指南

安装包 (如果需要)

uvx stepintovision.ai

Cursor 配置 (mcp.json)

{ "mcpServers": { "elkraneo-stepintovision-ai": { "command": "uvx", "args": [ "stepintovision.ai" ] } } }