tnydev-mcp

specstoryai/tnydev-mcp

3.2

If you are the rightful owner of tnydev-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

The tny.dev MCP Server is an API-first link shortener designed specifically for AI agents, offering native integration with AI assistants like Claude and Cursor.

Tools
  1. shorten_url

    Create a shortened URL with support for custom domains and slugs.

  2. get_link_analytics

    Get click analytics for a shortened link.

  3. list_links

    List all shortened links created with your API key.

MCP Server

The API-first link shortener built for AI agents

First-party MCP server & DXT for Claude, Cursor, and other AI assistants

npm version License: MIT Better Stack Badge Node.js Version MCP Compatible TypeScript PRs Welcome

Claude Desktop Claude Code Cursor Windsurf Zed VS Code


šŸš€ Why tny.dev for AI Agents?

Optimized for bursty AI traffic. Right when your agents need them.

Built to handle spikes when agents process batches.

šŸ¤– Agent-First Design

Official MCP server for Claude, Cursor, and other AI assistants. Link shortening with Natural Language that just works.

šŸ’° 200x More Economical

500 requests/hour for just $9/month. Perfect for AI workflows that process links in bursts.

ā±ļø Generous Rate Limits

500 requests per hour means you can scale naturally with your automation needs without hitting quotas.

šŸŽÆ How Link Shorteners Compare

Featuretny.devBitlyRebrandlyShort.ioTinyURL
First-party MCP Serverāœ… Nativeāš ļø Third-partyāœ… NativeāŒ Noneāš ļø Third-party
Claude Desktop Extensionāœ… Native .dxtāŒ NoneāŒ NoneāŒ NoneāŒ None
Monthly Costāœ… $9āŒ $199āš ļø $29-35āš ļø $19āœ… $9.99
Hourly Rate Limitāœ… 500/hourāš ļø ~69/hour*āš ļø ~35/hour*āŒ ~1.4/hour*āš ļø ~14/hour*
Bulk Operationsāœ… 100/requestāŒ Not supportedāœ… 25/requestāœ… 1,000/requestāŒ Not documented

* Effective hourly rate calculated from monthly quotas divided by 720 hours

šŸŽØ Other Features

  • šŸ“± QR Codes: Automatic QR code generation for all shortened URLs
  • šŸ“Š Analytics: Get detailed click analytics for your shortened links
  • šŸ“‹ Link Management: List all your shortened links with pagination
  • šŸŽÆ Rate Limit Awareness: Real-time quota tracking in every response
  • šŸ¤– Natural Language: Built for how AI agents actually work
  • šŸ”— Custom Domains: Use your own domain for branded short URLs (Developer tier)
  • ✨ Custom Slugs: Create memorable short URLs with custom slugs (Developer tier)

šŸš€ Quick Start

Option 1: Claude Desktop Extension (Easiest)

Installation Steps:
  1. Download the Extension

    • Click the button above, or
    • Go to Releases and download tnydev-mcp.dxt
  2. Install in Claude Desktop

    • Method 1: Drag and drop the .dxt file into Claude Desktop
    • Method 2: In Claude Desktop, go to Settings → Extensions → Install Extension → Select the .dxt file
  3. Configure Your API Key

    • After installation, click on the extension settings
    • Enter your tny.dev API key (get one at tny.dev/account)
    • Optionally add your domain ID for custom domains
  4. Start Using

    • The tools are now available in your conversation
    • Try: "Shorten this URL for me: https://example.com"

Option 2: npm Package (For Developers)

# In your MCP client configuration, use:
npx -y @specstory/tnydev-mcp

Option 3: Local Installation

  1. Get a tny.dev API key from your account settings
  2. Clone this repository and navigate to mcp-server
  3. Run: npm install && npm run build
  4. Set your API key: echo "TNY_DEV_API_KEY=your_key_here" > .env
  5. Configure your MCP client (see Installation below)
  6. Start using the tools in your AI assistant!

šŸ“‹ Prerequisites

For Desktop Extension

  • Claude Desktop v0.7.0 or higher
  • A tny.dev account with API access

For npm/Manual Installation

  • Node.js 18 or higher
  • A tny.dev account with API access (developer tier recommended)
  • An MCP-compatible client (Claude Desktop, Claude Code, Cursor, or VS Code)

šŸ”‘ Getting Started with tny.dev

1. Get Your API Key (30 seconds)

Visit tny.dev → Sign up → Account Settings → Create API Key

2. Choose Your Plan

PlanPriceRate LimitBest For
Free$050/hourTesting & personal projects
Developer$9/mo500/hourAI agents & automation

3. Developer Plan Benefits

  • āœ… 10x more requests - Handle bursty AI traffic
  • āœ… Custom domains - Use your own branded URLs
  • āœ… Custom slugs - Create memorable short links
  • āœ… Bulk operations - Process up to 100 URLs at once
  • āœ… Webhooks - Real-time event notifications
  • āœ… Extra API keys - Separate keys for different environments

🌐 Custom Domains (Developer Tier)

To use custom domains with the MCP server:

  1. Add a Custom Domain: In your tny.dev account, navigate to the Domains section and add your custom domain
  2. Verify Domain: Complete the DNS verification process
  3. Get Domain ID: Once verified, copy your domain ID (format: your_domain_id_here)
  4. Configure MCP Server: Either:
    • Set TNY_DEV_DEFAULT_DOMAIN_ID environment variable for global default
    • Pass domainId parameter when creating short URLs
    • Tool parameter takes precedence over environment variable

šŸ“¦ Installation

Local Setup

  1. Clone or download this repository
  2. Navigate to the mcp-server directory:
    cd mcp-server
    
  3. Install dependencies:
    npm install
    
  4. Build the TypeScript code:
    npm run build
    
  5. Create your environment file:
    cp .env.example .env
    
  6. Edit .env and add your tny.dev API key:
    TNY_DEV_API_KEY=your_api_key_here
    
    # Optional: For custom domain support (Developer tier)
    TNY_DEV_DEFAULT_DOMAIN_ID=your_domain_id_here
    

šŸ”§ Installation Methods

šŸš€ Quick Install


Claude Desktop
Download .dxt extension

Cursor
One-click install

VS Code
Quick setup

VS Code Insiders
Preview build

šŸ’” Note: For VS Code and Cursor, remember to replace your_api_key_here with your actual tny.dev API key

šŸ–„ļø Claude Desktop Extension (Recommended)

The easiest way to use tny.dev in Claude Desktop:

  1. Download the latest tnydev-mcp.dxt from Releases
  2. Open Claude Desktop
  3. Drag and drop the .dxt file into Claude Desktop
  4. Configure your API key in the extension settings
  5. Done! No terminal or JSON editing required

Benefits:

  • āœ… One-click installation
  • āœ… Automatic updates
  • āœ… Secure API key storage
  • āœ… User-friendly configuration UI

šŸ› ļø Manual MCP Configuration

For advanced users who prefer manual configuration:

šŸ“± Claude Desktop (Manual)
Using npx (Recommended)

Edit your Claude Desktop configuration:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "tny-dev": {
      "command": "npx",
      "args": ["-y", "@specstory/tnydev-mcp"],
      "env": {
        "TNY_DEV_API_KEY": "your_api_key_here",
        "TNY_DEV_DEFAULT_DOMAIN_ID": "your_domain_id_here"  // Optional
      }
    }
  }
}
Local installation
{
  "mcpServers": {
    "tny-dev": {
      "command": "node",
      "args": ["/absolute/path/to/tinylink/mcp-server/dist/index.js"],
      "env": {
        "TNY_DEV_API_KEY": "your_api_key_here",
        "TNY_DEV_DEFAULT_DOMAIN_ID": "your_domain_id_here"  // Optional
      }
    }
  }
}

Alternative: Use .env file instead of hardcoding the API key:

{
  "mcpServers": {
    "tny-dev": {
      "command": "node",
      "args": ["dist/index.js"],
      "cwd": "/absolute/path/to/tinylink/mcp-server"
    }
  }
}

Restart Claude Desktop for changes to take effect.

šŸŽÆ Cursor
Using npx (Recommended)

Cursor supports multiple configuration methods:

Method 1: Project-specific configuration

Create .cursor/mcp.json in your project root:

{
  "mcpServers": {
    "tny-dev": {
      "command": "npx",
      "args": ["-y", "@specstory/tnydev-mcp"],
      "env": {
        "TNY_DEV_API_KEY": "your_api_key_here",
        "TNY_DEV_DEFAULT_DOMAIN_ID": "your_domain_id_here"  // Optional
      }
    }
  }
}

Method 2: VS Code settings

Add to your .vscode/settings.json or User Settings:

{
  "cursor.mcpServers": {
    "tny-dev": {
      "command": "npx",
      "args": ["-y", "@specstory/tnydev-mcp"],
      "env": {
        "TNY_DEV_API_KEY": "your_api_key_here",
        "TNY_DEV_DEFAULT_DOMAIN_ID": "your_domain_id_here"  // Optional
      }
    }
  }
}
Local installation
{
  "mcpServers": {
    "tny-dev": {
      "command": "node",
      "args": ["/absolute/path/to/tinylink/mcp-server/dist/index.js"],
      "env": {
        "TNY_DEV_API_KEY": "your_api_key_here",
        "TNY_DEV_DEFAULT_DOMAIN_ID": "your_domain_id_here"  // Optional
      }
    }
  }
}

Note: Restart Cursor after making configuration changes.

🌊 Windsurf
Using npx (Recommended)

Add to your Windsurf settings:

{
  "mcpServers": {
    "tny-dev": {
      "command": "npx",
      "args": ["-y", "@specstory/tnydev-mcp"],
      "env": {
        "TNY_DEV_API_KEY": "your_api_key_here",
        "TNY_DEV_DEFAULT_DOMAIN_ID": "your_domain_id_here"  // Optional
      }
    }
  }
}
Local installation
{
  "mcpServers": {
    "tny-dev": {
      "command": "node",
      "args": ["/absolute/path/to/tinylink/mcp-server/dist/index.js"],
      "env": {
        "TNY_DEV_API_KEY": "your_api_key_here",
        "TNY_DEV_DEFAULT_DOMAIN_ID": "your_domain_id_here"  // Optional
      }
    }
  }
}
šŸ¤– Cline (VS Code Extension)
Using npx (Recommended)

Add to your VSCode settings (.vscode/settings.json or User Settings):

{
  "cline.mcpServers": {
    "tny-dev": {
      "command": "npx",
      "args": ["-y", "@specstory/tnydev-mcp"],
      "env": {
        "TNY_DEV_API_KEY": "your_api_key_here",
        "TNY_DEV_DEFAULT_DOMAIN_ID": "your_domain_id_here"  // Optional
      }
    }
  }
}
Local installation
{
  "cline.mcpServers": {
    "tny-dev": {
      "command": "node",
      "args": ["/absolute/path/to/tinylink/mcp-server/dist/index.js"],
      "env": {
        "TNY_DEV_API_KEY": "your_api_key_here",
        "TNY_DEV_DEFAULT_DOMAIN_ID": "your_domain_id_here"  // Optional
      }
    }
  }
}

For Cursor specifically, you can also create .cursor/mcp.json in your project root:

{
  "mcpServers": {
    "tny-dev": {
      "command": "npx",
      "args": ["-y", "@specstory/tnydev-mcp"],
      "env": {
        "TNY_DEV_API_KEY": "your_api_key_here",
        "TNY_DEV_DEFAULT_DOMAIN_ID": "your_domain_id_here"  // Optional
      }
    }
  }
}
šŸ’» VS Code (with Continue, Codeqwen, or other AI extensions)
Using npx (Recommended)

Add to your VS Code settings (settings.json):

{
  "mcpServers": {
    "tny-dev": {
      "command": "npx",
      "args": ["-y", "@specstory/tnydev-mcp"],
      "env": {
        "TNY_DEV_API_KEY": "your_api_key_here",
        "TNY_DEV_DEFAULT_DOMAIN_ID": "your_domain_id_here"  // Optional
      }
    }
  }
}

Note: The exact configuration key may vary by extension:

  • Continue: continue.mcpServers
  • Codeqwen: codeqwen.mcpServers
  • Check your extension's documentation for the correct key
Local installation
{
  "mcpServers": {
    "tny-dev": {
      "command": "node",
      "args": ["/absolute/path/to/tinylink/mcp-server/dist/index.js"],
      "env": {
        "TNY_DEV_API_KEY": "your_api_key_here",
        "TNY_DEV_DEFAULT_DOMAIN_ID": "your_domain_id_here"  // Optional
      }
    }
  }
}
⚔ Zed
Using npx (Recommended)

Add to your Zed settings:

{
  "language_models": {
    "mcp": {
      "servers": {
        "tny-dev": {
          "command": "npx",
          "args": ["-y", "@specstory/tnydev-mcp"],
          "env": {
            "TNY_DEV_API_KEY": "your_api_key_here"
          }
        }
      }
    }
  }
}
Local installation
{
  "language_models": {
    "mcp": {
      "servers": {
        "tny-dev": {
          "command": "node",
          "args": ["/absolute/path/to/tinylink/mcp-server/dist/index.js"],
          "env": {
            "TNY_DEV_API_KEY": "your_api_key_here"
          }
        }
      }
    }
  }
}
šŸš€ Claude Code
Using npx (Recommended)

Add as a locally-scoped server using the CLI:

claude mcp add tny-dev -s local -e TNY_DEV_API_KEY=your_api_key_here -- npx -y @specstory/tnydev-mcp

Or create a .mcp.json file in your project root:

{
  "mcpServers": {
    "tny-dev": {
      "command": "npx",
      "args": ["-y", "@specstory/tnydev-mcp"],
      "env": {
        "TNY_DEV_API_KEY": "your_api_key_here",
        "TNY_DEV_DEFAULT_DOMAIN_ID": "your_domain_id_here"  // Optional
      }
    }
  }
}
Local installation
claude mcp add tny-dev -s local -e TNY_DEV_API_KEY=your_api_key_here -- node /absolute/path/to/tinylink/mcp-server/dist/index.js
šŸ¤– Roo Coder
Using npx (Recommended)

Add to your Roo Coder settings:

{
  "roo.mcpServers": {
    "tny-dev": {
      "command": "npx",
      "args": ["-y", "@specstory/tnydev-mcp"],
      "env": {
        "TNY_DEV_API_KEY": "your_api_key_here",
        "TNY_DEV_DEFAULT_DOMAIN_ID": "your_domain_id_here"  // Optional
      }
    }
  }
}
Local installation
{
  "roo.mcpServers": {
    "tny-dev": {
      "command": "node",
      "args": ["/absolute/path/to/tinylink/mcp-server/dist/index.js"],
      "env": {
        "TNY_DEV_API_KEY": "your_api_key_here",
        "TNY_DEV_DEFAULT_DOMAIN_ID": "your_domain_id_here"  // Optional
      }
    }
  }
}
šŸŽØ Void
Using npx (Recommended)

Add to your Void configuration:

{
  "mcpServers": {
    "tny-dev": {
      "command": "npx",
      "args": ["-y", "@specstory/tnydev-mcp"],
      "env": {
        "TNY_DEV_API_KEY": "your_api_key_here",
        "TNY_DEV_DEFAULT_DOMAIN_ID": "your_domain_id_here"  // Optional
      }
    }
  }
}
Local installation
{
  "mcpServers": {
    "tny-dev": {
      "command": "node",
      "args": ["/absolute/path/to/tinylink/mcp-server/dist/index.js"],
      "env": {
        "TNY_DEV_API_KEY": "your_api_key_here",
        "TNY_DEV_DEFAULT_DOMAIN_ID": "your_domain_id_here"  // Optional
      }
    }
  }
}
šŸ› ļø Other MCP Clients
Using npx (Recommended)

Most MCP clients support a similar configuration format:

{
  "mcpServers": {
    "tny-dev": {
      "command": "npx",
      "args": ["-y", "@specstory/tnydev-mcp"],
      "env": {
        "TNY_DEV_API_KEY": "your_api_key_here",
        "TNY_DEV_DEFAULT_DOMAIN_ID": "your_domain_id_here"  // Optional
      }
    }
  }
}
Local installation
{
  "mcpServers": {
    "tny-dev": {
      "command": "node",
      "args": ["/absolute/path/to/tinylink/mcp-server/dist/index.js"],
      "env": {
        "TNY_DEV_API_KEY": "your_api_key_here",
        "TNY_DEV_DEFAULT_DOMAIN_ID": "your_domain_id_here"  // Optional
      }
    }
  }
}

Check your client's documentation for the specific configuration file location and format.

šŸ”’ Security Best Practices

Important: Never commit configuration files containing API keys to version control.

Recommended approaches:

  1. Environment Variables (Most Secure)

    export TNY_DEV_API_KEY="your_api_key_here"
    export TNY_DEV_DEFAULT_DOMAIN_ID="your_domain_id_here"
    
  2. Secure Key Storage

    • Use a password manager for API keys
    • Use system keychain/credential manager
    • Use environment-specific .env files (never commit)
  3. Git Security

    # Add to .gitignore
    .env
    .env.local
    **/claude_desktop_config.json
    **/.cursor/mcp.json
    .vscode/settings.json
    
  4. Keys

    • Use different keys for different environments
    • Monitor key usage in your tny.dev dashboard

šŸ’” AI Agent Use Cases

See how AI assistants naturally use tny.dev in real conversations – no code required:

Traditional API Approach vs. MCP Server

āŒ Traditional API Approach
# Step 1: Write code to call API
import requests

def shorten_url(url):
    response = requests.post(
        'https://www.tny.dev/api/v1/shorten',
        headers={
            'X-API-Key': 'tnyl_your_api_key_here',
            'Content-Type': 'application/json'
        },
        json={'url': url}
    )
    return response.json()

# Step 2: Process each link manually
links = [...] # Your list of links
shortened = [shorten_url(link) for link in links]

# Step 3: Format and organize results
# More code needed...
āœ… With tny.dev MCP Server
šŸ’¬ You: "I'm writing a blog post about React 
hooks. Please shorten these documentation 
links and organize them by hook type."

šŸ¤– Claude: "I'll shorten those React 
documentation links and organize them by 
hook type for you..."

[Automatically processes all links using MCP]

No code required! Just natural conversation.

Common AI Agent Workflows

šŸ“Š Campaign Analytics

"Show me which links from yesterday's campaign got the most clicks"

⚔ Bulk Processing

"Shorten all the URLs in this documentation and create a table of contents"

šŸ›”ļø Link Management

"Update all campaign links to use our new landing page"

šŸŽÆ Smart Organization

"Group these product links by category and create trackable short URLs for each"

šŸ› ļø Available Tools

For detailed API documentation, visit the tny.dev API Docs.

1. shorten_url

Create a shortened URL with support for custom domains and slugs (Developer tier feature).

Parameters:

  • url (required): The URL to shorten
  • customSlug (optional): Custom slug for the short URL (3-50 chars, alphanumeric + hyphens/underscores) - requires domainId
  • domainId (optional): Domain ID for custom domain usage - required when using customSlug

Examples:

# Basic usage
Use the shorten_url tool to create a short link for https://example.com/very/long/url

# With custom domain and slug
Use the shorten_url tool to create a short link for https://example.com with customSlug "my-link" and domainId "your_domain_id_here"

# With custom domain only (random slug)
Use the shorten_url tool to create a short link for https://example.com with domainId "your_domain_id_here"

Note: Custom domains and slugs require a Developer tier subscription. You can configure a default domain ID using the TNY_DEV_DEFAULT_DOMAIN_ID environment variable.

2. get_link_analytics

Get click analytics for a shortened link.

Parameters:

  • slug (required): The slug of the shortened URL

Example:

Get analytics for the link with slug "abc123"

3. list_links

List all shortened links created with your API key.

Parameters:

  • page (optional): Page number (default: 1)
  • limit (optional): Number of links per page (1-100, default: 20)

Example:

Show me all my shortened links

⚔ Rate Limits & Pricing

Simple, Transparent Pricing

FreeDeveloper
Monthly Cost$0$9
Hourly Rate Limit50/hour500/hour
Effective Cost-$0.018/request
Compared to Bitly-95% cheaper

šŸ’” Pro Tip: The server displays remaining quota in each response to help you track usage in real-time.

āš™ļø Configuration Examples

Basic Configuration
{
  "mcpServers": {
    "tny-dev": {
      "command": "npx",
      "args": ["-y", "@specstory/tnydev-mcp"],
      "env": {
        "TNY_DEV_API_KEY": "your_api_key_here",
        "TNY_DEV_DEFAULT_DOMAIN_ID": "your_domain_id_here"  // Optional
      }
    }
  }
}
With Custom Domain (Developer Tier)
{
  "mcpServers": {
    "tny-dev": {
      "command": "npx",
      "args": ["-y", "@specstory/tnydev-mcp"],
      "env": {
        "TNY_DEV_API_KEY": "your_api_key_here",
        "TNY_DEV_DEFAULT_DOMAIN_ID": "your_domain_id_here"
      }
    }
  }
}
Development/Testing Configuration
{
  "mcpServers": {
    "tny-dev": {
      "command": "node",
      "args": ["dist/index.js"],
      "cwd": "/path/to/tinylink/mcp-server",
      "env": {
        "DEBUG": "true",
        "TNY_DEV_BASE_URL": "https://staging.tny.dev/api/v1"  // Optional staging URL
      }
    }
  }
}
Multiple Environments
{
  "mcpServers": {
    "tny-dev-prod": {
      "command": "npx",
      "args": ["-y", "@specstory/tnydev-mcp"],
      "env": {
        "TNY_DEV_API_KEY": "prod_key_here"
      }
    },
    "tny-dev-test": {
      "command": "npx",
      "args": ["-y", "@specstory/tnydev-mcp"],
      "env": {
        "TNY_DEV_API_KEY": "test_key_here",
        "TNY_DEV_BASE_URL": "https://staging.tny.dev/api/v1"
      }
    }
  }
}

šŸ”Ø Development

Prerequisites for Development

  • Node.js 18+
  • npm or yarn
  • TypeScript knowledge

Setup

# Clone the repository
git clone https://github.com/yourusername/tinylink.git
cd tinylink/mcp-server

# Install dependencies
npm install

# Copy environment template
cp .env.example .env

# Add your API key to .env
echo "TNY_DEV_API_KEY=your_key_here" >> .env

# Build the project
npm run build

Development Commands

# Run in development mode with auto-reload
npm run dev

# Build the project
npm run build

# Run linting
npm run lint

# Run type checking
npm run typecheck

# Start the built server
npm start

Testing the Server

# Test manually with debug output
DEBUG=true TNY_DEV_API_KEY=your_key node dist/index.js

# Test with a custom base URL
TNY_DEV_BASE_URL=https://staging.tny.dev/api/v1 npm start

Project Structure

mcp-server/
ā”œā”€ā”€ src/
│   ā”œā”€ā”€ index.ts          # Main server entry point
│   ā”œā”€ā”€ client.ts         # API client implementation
│   ā”œā”€ā”€ types.ts          # TypeScript type definitions
│   └── handlers/         # Tool handlers
│       ā”œā”€ā”€ shorten.ts    # URL shortening handler
│       ā”œā”€ā”€ analytics.ts  # Analytics handler
│       └── links.ts      # Links listing handler
ā”œā”€ā”€ dist/                 # Compiled JavaScript (generated)
ā”œā”€ā”€ package.json          # Project configuration
ā”œā”€ā”€ tsconfig.json         # TypeScript configuration
ā”œā”€ā”€ .env.example          # Environment template
└── README.md            # This file

šŸ› Troubleshooting

Common Issues for All Clients

Server Not Appearing in Client

  • āœ… Ensure the configuration file is valid JSON (check for trailing commas)
  • āœ… Verify the absolute path to the server is correct
  • āœ… Check that Node.js is installed and in your system PATH
  • āœ… Restart your client application after configuration changes
  • āœ… Enable debug mode: DEBUG=true in environment

API Key Issues

  • āœ… Verify your API key is correctly set in the configuration or .env file
  • āœ… Check that your API key is active in your Account settings
  • āœ… Ensure there are no extra spaces or quotes around the API key
  • āœ… Test the server manually: TNY_DEV_API_KEY=your_key node dist/index.js

Connection Errors

  • āœ… Run npm run build to ensure the server is compiled
  • āœ… Check for error messages in the client's developer console
  • āœ… Try running the server standalone to see error output
  • āœ… Verify Node.js version is 18 or higher: node --version

Rate Limit Errors

  • ā„¹ļø The server displays remaining quota in each response
  • ā„¹ļø Free tier: 50 requests/hour, Developer tier: 500 requests/hour
  • ā„¹ļø Rate limits reset every hour from first request
  • ā„¹ļø Consider upgrading at tny.dev Plans
Claude Desktop Specific

Configuration File Location

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Common Issues

  • Server not loading: Check Claude Desktop logs in Console.app (macOS) or Event Viewer (Windows)
  • Permission denied: Ensure Claude Desktop has permission to execute Node.js
  • Path issues: Use absolute paths, avoid ~ or environment variables in paths
Cursor Specific

Configuration Priority

  1. .cursor/mcp.json (project-specific)
  2. VS Code User Settings
  3. VS Code Workspace Settings

Common Issues

  • Multiple configs: Check all possible config locations
  • Extension conflicts: Disable other MCP extensions temporarily
  • Reload required: Use Command Palette > "Developer: Reload Window"
VS Code Extensions Specific

Finding the Right Config Key

  • Continue: continue.mcpServers
  • Codeqwen: codeqwen.mcpServers
  • Cline: cline.mcpServers
  • Check extension docs for exact key

Common Issues

  • Settings sync: Disable settings sync temporarily if having issues
  • Extension updates: Ensure extensions are up to date
  • Workspace trust: Ensure workspace is trusted
Platform-Specific Issues

macOS/Linux

  • āœ… Ensure execute permissions: chmod +x dist/index.js
  • āœ… Check .env file permissions: chmod 600 .env
  • āœ… Use full paths, not ~/ in configurations

Windows

  • āœ… Use forward slashes or double backslashes: C:/path/to/server or C:\\path\\to\\server
  • āœ… Run as Administrator if permission issues persist
  • āœ… Ensure Node.js is in system PATH, not just user PATH
  • āœ… If using WSL, use Windows paths in config, not WSL paths

Docker/Dev Containers

  • āœ… Mount the MCP server directory as a volume
  • āœ… Ensure Node.js is installed in the container
  • āœ… Use container paths in configuration

šŸ“„ License

MIT

šŸ“¦ Downloads & Releases

Desktop Extension (.dxt)

npm Package

  • Package: @specstory/tnydev-mcp
  • Install: npm install -g @specstory/tnydev-mcp
  • Direct Use: npx @specstory/tnydev-mcp

šŸ“š Resources

Documentation

Community

Related Projects

šŸ’¬ Support

Getting Help

Issue TypeWhere to Get Help
šŸ› MCP Server IssuesGitHub Issues
šŸ”‘ API/Account Issuestny.dev Support
šŸ“± Claude DesktopClaude Help Center
šŸ’» Client-SpecificCheck client's documentation

Quick Links

šŸš€ Ready for Agent-First Development?

Get native AI integration with our first-party MCP server

Just $9/month for 500 requests/hour - 95% cheaper than Bitly


šŸ¤ Contributing

We welcome contributions! Please see our for details.

Development Workflow

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

šŸ™ Acknowledgments