Skip to content

mode-network/synth-mcp

Repository files navigation

synth-mcp

Model Context Protocol (MCP) Server for the synth-mcp API.

Built by Speakeasy License: MIT



Important

This MCP Server is not yet ready for production use. To complete setup please follow the steps outlined in your workspace. Delete this notice before publishing to a package manager.

Summary

Synth: Synth API offers programmatic access to probabilistic price forecasts for Equities, Commodities and Cryptocurrencies.

Table of Contents

Installation

Tip

To finish publishing your MCP Server to npm and others you must run your first generation action.

Claude Desktop

Install the MCP server as a Desktop Extension using the pre-built mcp-server.mcpb file:

Simply drag and drop the mcp-server.mcpb file onto Claude Desktop to install the extension.

The MCP bundle package includes the MCP server and all necessary configuration. Once installed, the server will be available without additional setup.

[!NOTE] MCP bundles provide a streamlined way to package and distribute MCP servers. Learn more about Desktop Extensions.

Cursor

Install MCP Server

Or manually:

  1. Open Cursor Settings
  2. Select Tools and Integrations
  3. Select New MCP Server
  4. If the configuration file is empty paste the following JSON into the MCP Server Configuration:
{
  "command": "npx",
  "args": [
    "synth-mcp",
    "start",
    "--server-url",
    ""
  ]
}
Claude Code CLI
claude mcp add Synth -- npx -y synth-mcp start --server-url 
Gemini
gemini mcp add Synth -- npx -y synth-mcp start --server-url 
Windsurf

Refer to Official Windsurf documentation for latest information

  1. Open Windsurf Settings
  2. Select Cascade on left side menu
  3. Click on Manage MCPs. (To Manage MCPs you should be signed in with a Windsurf Account)
  4. Click on View raw config to open up the mcp configuration file.
  5. If the configuration file is empty paste the full json
{
  "command": "npx",
  "args": [
    "synth-mcp",
    "start",
    "--server-url",
    ""
  ]
}
VS Code

Install in VS Code

Or manually:

Refer to Official VS Code documentation for latest information

  1. Open Command Palette
  2. Search and open MCP: Open User Configuration. This should open mcp.json file
  3. If the configuration file is empty paste the full json
{
  "command": "npx",
  "args": [
    "synth-mcp",
    "start",
    "--server-url",
    ""
  ]
}
Stdio installation via npm To start the MCP server, run:
npx synth-mcp start --server-url 

For a full list of server arguments, run:

npx synth-mcp --help

Development

Run locally without a published npm package:

  1. Clone this repository
  2. Run npm install
  3. Run npm run build
  4. Run node ./bin/mcp-server.js start --server-url To use this local version with Cursor, Claude or other MCP Clients, you'll need to add the following config:
{
  "command": "node",
  "args": [
    "./bin/mcp-server.js",
    "start",
    "--server-url",
    ""
  ]
}

Or to debug the MCP server locally, use the official MCP Inspector:

npx @modelcontextprotocol/inspector node ./bin/mcp-server.js start --server-url 

Publishing to Anthropic MCP Registry

To publish your MCP server to the Anthropic MCP Registry, follow these steps based on the official publishing guide.

Step 1: Configure mcpName in Your Generation Config

Add the mcpName field to your .speakeasy/gen.yaml file:

mcp-typescript:
  mcpName: io.github.username/server-name  # Use reverse-DNS format
  # ... other configuration

The mcpName should follow the reverse-DNS format (e.g., io.github.username/server-name) to ensure uniqueness in the registry.

Step 2: Regenerate Your MCP Server

Run Speakeasy generation with the updated configuration. This will:

  • Add the mcpName field to your package.json (required for npm package validation)
  • Generate a server.json file with registry metadata

Step 3: Publish to npm

The registry validates npm packages by checking that your published package includes the mcpName field:

npm publish

The registry will fetch your package from npm and verify that the mcpName in package.json matches your server name.

Step 4: Install the Publisher CLI

Install the mcp-publisher CLI tool:

macOS/Linux (Homebrew):

brew install mcp-publisher

macOS/Linux/WSL (curl):

curl -L "https://github.com/modelcontextprotocol/registry/releases/latest/download/mcp-publisher_$(uname -s | tr '[:upper:]' '[:lower:]')_$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/').tar.gz" | tar xz mcp-publisher && sudo mv mcp-publisher /usr/local/bin/

Windows PowerShell:

$arch = if ([System.Runtime.InteropServices.RuntimeInformation]::ProcessArchitecture -eq "Arm64") { "arm64" } else { "amd64" }
Invoke-WebRequest -Uri "https://github.com/modelcontextprotocol/registry/releases/latest/download/mcp-publisher_windows_$arch.tar.gz" -OutFile "mcp-publisher.tar.gz"
tar xf mcp-publisher.tar.gz mcp-publisher.exe
rm mcp-publisher.tar.gz
# Move mcp-publisher.exe to a directory in your PATH

Step 5: Authenticate

Authenticate based on your namespace:

For io.github.* namespaces (GitHub OAuth):

mcp-publisher login github

For custom domains like com.yourcompany.* (DNS authentication):

# Generate keypair
openssl genpkey -algorithm Ed25519 -out key.pem

# Get public key for DNS record
echo "yourcompany.com. IN TXT \"v=MCPv1; k=ed25519; p=$(openssl pkey -in key.pem -pubout -outform DER | tail -c 32 | base64)\""

# Add the TXT record to your DNS, then login
mcp-publisher login dns --domain yourcompany.com --private-key $(openssl pkey -in key.pem -noout -text | grep -A3 "priv:" | tail -n +2 | tr -d ' :\n')

Step 6: Publish to the Registry

From your server directory, publish to the registry:

mcp-publisher publish

You'll see:

✓ Successfully published

Step 7: Verify Publication

Check that your server appears in the registry:

curl "https://registry.modelcontextprotocol.io/v0/servers?search=io.github.username/server-name"

For complete documentation including remote deployments, troubleshooting, and CI/CD automation, see the official publishing guide.

Contributions

While we value contributions to this MCP Server, the code is generated programmatically. Any manual changes added to internal files will be overwritten on the next generation. We look forward to hearing your feedback. Feel free to open a PR or an issue with a proof of concept and we'll do our best to include it in a future release.

MCP Server Created by Speakeasy

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published