Koskamo

YangOpen MCP

This MCP server provides AI assistants with access to Yangopen's media and document tools, including text-to-speech, background removal, image colorization, sharpening, expansion, document scanning, Word to PDF conversion, and Vietnamese font conversion. It requires a Yangopen account for OAuth authentication and operates with a free daily allowance or prepaid credits.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

YangOpen MCP logo, by YangopenVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-01Operated by Yangopen
You need:connect a Yangopen account once (OAuth)
MCP endpoint (Streamable HTTP)
https://yangopen.com/mcp
Vendor documentation

What you can do with it

  • Convert text to speech using free or Plus voices
  • Remove backgrounds from product photos
  • Convert Word files or photos to PDF
  • Convert old Vietnamese fonts (TCVN3, VNI) to Unicode

Source and maintenance

Vendor evidenceRegistry 1.4.0

Protocol and capabilities

Server
yangopen 1.4.0
MCP protocol
2025-06-18
Tools
13 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

YangOpen reads text aloud, edits photos and converts documents for the user's connected YangOpen account. Free voices (text_to_speech): Vietnamese first, and English, Mandarin, Japanese, Korean, Thai, French and Spanish, up to 3,000 characters per call, no credit. Plus voices (text_to_speech_plus): about 2,600 more, 182 of them Vietnamese by region; they spend the user's prepaid credit (25 credits per 1,000 characters, rounded up to whole credits). Say the cost before a long job; get_balance shows what is left. Find voice ids with list_voices. Photos: remove_background, colorize_photo, sharpen_image, expand_image and scan_document (a phone photo of a page into a flat scan). Documents: word_to_pdf (.docx or .doc to PDF). You cannot pass a file from the chat: call get_upload_link, give the user the link to upload it, then call the tool with the file_id (or pass a public image_url or file_url). 5 free runs a day for each image tool, then 25 credits a run, charged only when the result is ready; Word to PDF is priced the same way. Every file answer is a link that works for 24 hours. Text, free: convert_vietnamese_font (old TCVN3 or VNI text to Unicode) and convert_time (a time between time zones).

Tools

13 advertised

list_voices — List or search the voices
Advertised by the server during the last successful anonymous check.
Advertised read-only

The YangOpen voices. tier "free" (default): sixteen free voices — two Vietnamese (Southern accent), American and British English, Mandarin, Japanese, Korean, Thai, French and Spanish. tier "plus": the paid voices, about 2,600 — 182 Vietnamese (Northern, Central and Southern), English, Spanish, Mandarin, French, Japanese and Korean; search them by language, gender and words in the name or style. Returns the id to pass to text_to_speech (free) or text_to_speech_plus (plus).

list_voices input schema
{
  "type": "object",
  "properties": {
    "tier": {
      "enum": [
        "free",
        "plus"
      ],
      "type": "string",
      "default": "free",
      "description": "free (default) or plus."
    },
    "limit": {
      "type": "integer",
      "default": 20,
      "maximum": 50,
      "minimum": 1,
      "description": "How many to return, up to 50."
    },
    "query": {
      "type": "string",
      "description": "Optional words to match in the name or style, e.g. \"Bắc\", \"tin tức\", \"Hoài My\"."
    },
    "gender": {
      "enum": [
        "female",
        "male"
      ],
      "type": "string",
      "description": "Optional."
    },
    "language": {
      "type": "string",
      "description": "Optional language: vi, en, en-US, en-GB, zh, ja, ko, th, fr or es."
    }
  },
  "additionalProperties": false
}
list_voices output schema
{
  "type": "object",
  "required": [
    "voices",
    "total"
  ],
  "properties": {
    "total": {
      "type": "integer"
    },
    "voices": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id",
          "name",
          "language",
          "gender",
          "description",
          "tier"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "tier": {
            "type": "string"
          },
          "gender": {
            "type": "string"
          },
          "language": {
            "type": "string"
          },
          "description": {
            "type": "string"
          }
        }
      }
    }
  }
}
list_voices annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
text_to_speech — Read text aloud as an MP3 (free voices)
Advertised by the server during the last successful anonymous check.
Open-world

Turn text into speech with a free YangOpen voice and get a link to the MP3. It costs no credit; it counts against the user's free daily allowance. Up to 3,000 characters per call: split longer text at sentence ends and call once per part. The link works for 24 hours; give it to the user exactly as returned. The text is sent to an outside speech service to be read; it is not stored.

text_to_speech input schema
{
  "type": "object",
  "required": [
    "text"
  ],
  "properties": {
    "text": {
      "type": "string",
      "maxLength": 3000,
      "minLength": 1,
      "description": "The text to read, up to 3,000 characters."
    },
    "speed": {
      "type": "number",
      "default": 1,
      "maximum": 2,
      "minimum": 0.5,
      "description": "Reading speed from 0.5 to 2.0. Default 1.0."
    },
    "voice": {
      "type": "string",
      "default": "yo-baotram",
      "description": "A free voice id from list_voices. Default yo-baotram (Vietnamese, female)."
    }
  },
  "additionalProperties": false
}
text_to_speech output schema
{
  "type": "object",
  "required": [
    "url",
    "expires_at",
    "voice",
    "characters",
    "duration_seconds"
  ],
  "properties": {
    "url": {
      "type": "string"
    },
    "voice": {
      "type": "string"
    },
    "characters": {
      "type": "integer"
    },
    "expires_at": {
      "type": "string"
    },
    "duration_seconds": {
      "type": "integer"
    }
  }
}
text_to_speech annotations
{
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
text_to_speech_plus — Read text aloud as an MP3 (Plus voices, uses credit)
Advertised by the server during the last successful anonymous check.

Turn text into speech with a Plus voice and get a link to the MP3. Spends the user's prepaid YangOpen credit: 25 credits per 1,000 characters, rounded up to whole credits. The charge is made only when the MP3 is ready, and the answer states what was charged and the balance left. Up to 1,000 characters per call for Vietnamese voices and 400 for the other languages; split longer text at sentence ends. Before a long job, tell the user the cost (characters ÷ 1,000 × 25 credits) and check get_balance. The link works for 24 hours; give it to the user exactly as returned.

text_to_speech_plus input schema
{
  "type": "object",
  "required": [
    "text",
    "voice"
  ],
  "properties": {
    "text": {
      "type": "string",
      "maxLength": 1000,
      "minLength": 1,
      "description": "The text to read, up to 1,000 characters."
    },
    "speed": {
      "type": "number",
      "default": 1,
      "maximum": 2,
      "minimum": 0.5,
      "description": "Reading speed from 0.5 to 2.0. Default 1.0."
    },
    "voice": {
      "type": "string",
      "description": "A Plus voice id from list_voices with tier \"plus\", e.g. yo-vn0001."
    }
  },
  "additionalProperties": false
}
text_to_speech_plus output schema
{
  "type": "object",
  "required": [
    "url",
    "expires_at",
    "voice",
    "characters",
    "duration_seconds",
    "credits_charged",
    "balance_credits"
  ],
  "properties": {
    "url": {
      "type": "string"
    },
    "voice": {
      "type": "string"
    },
    "characters": {
      "type": "integer"
    },
    "expires_at": {
      "type": "string"
    },
    "balance_credits": {
      "type": "integer"
    },
    "credits_charged": {
      "type": "integer"
    },
    "duration_seconds": {
      "type": "integer"
    }
  }
}
text_to_speech_plus annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": false,
  "destructiveHint": false
}
get_balance — Credit balance
Advertised by the server during the last successful anonymous check.
Advertised read-only

The user's YangOpen credit balance, what it buys (Plus voice characters, paid image runs), the prices, and where to top up. Changes nothing.

get_balance input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
get_balance output schema
{
  "type": "object",
  "required": [
    "balance_credits",
    "plus_characters",
    "credits_per_1000_characters",
    "top_up_url"
  ],
  "properties": {
    "image_runs": {
      "type": "integer"
    },
    "top_up_url": {
      "type": "string"
    },
    "balance_credits": {
      "type": "integer"
    },
    "plus_characters": {
      "type": "integer"
    },
    "credits_per_image_run": {
      "type": "integer"
    },
    "credits_per_1000_characters": {
      "type": "integer"
    }
  }
}
get_balance annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
get_upload_link — Get a link to upload a photo or a Word file
Advertised by the server during the last successful anonymous check.

A one-time page where the user uploads a file for the tools that need one: a photo (JPEG, PNG or WebP) for the image tools and scan_document, or a Word file (.docx or .doc) for word_to_pdf, up to 25 MB. It gives the file_id to pass to them. You cannot hand over a file from this chat yourself: give the user the link, ask them to open it and choose the file, and continue when they say it is done. In a client that can run shell commands (Claude Code), upload a local file yourself with the upload_command. The link works for 1 hour; the file is kept for 24 hours. Free.

get_upload_link input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
get_upload_link output schema
{
  "type": "object",
  "required": [
    "upload_url",
    "file_id",
    "expires_at",
    "upload_command"
  ],
  "properties": {
    "file_id": {
      "type": "string"
    },
    "expires_at": {
      "type": "string"
    },
    "upload_url": {
      "type": "string"
    },
    "upload_command": {
      "type": "string"
    }
  }
}
get_upload_link annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": false,
  "destructiveHint": false
}
remove_background — Remove a photo's background
Advertised by the server during the last successful anonymous check.
Open-world

Cut the main subject out of a photo and get a PNG with a transparent background. 5 free runs a day for each image tool, then 25 credits a run, charged only when the result is ready. Give the photo as file_id (the user uploads it through get_upload_link) or image_url. The result link works for 24 hours; give it to the user exactly as returned.

remove_background input schema
{
  "type": "object",
  "properties": {
    "file_id": {
      "type": "string",
      "description": "The file_id from get_upload_link, once the user has uploaded the photo there."
    },
    "image_url": {
      "type": "string",
      "description": "Or a public https link to a JPEG, PNG or WebP photo. A result link from another YangOpen image tool works too."
    }
  },
  "additionalProperties": false
}
remove_background output schema
{
  "type": "object",
  "required": [
    "url",
    "expires_at",
    "content_type",
    "bytes",
    "credits_charged",
    "free_run"
  ],
  "properties": {
    "url": {
      "type": "string"
    },
    "bytes": {
      "type": "integer"
    },
    "free_run": {
      "type": "boolean"
    },
    "expires_at": {
      "type": "string"
    },
    "content_type": {
      "type": "string"
    },
    "free_runs_left": {
      "type": "integer"
    },
    "balance_credits": {
      "type": "integer"
    },
    "credits_charged": {
      "type": "integer"
    }
  }
}
remove_background annotations
{
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
colorize_photo — Colorize a black-and-white photo
Advertised by the server during the last successful anonymous check.
Open-world

Colour a black-and-white or toned (sepia) photo, with faces restored. A photo that already has colour comes back as it was and costs nothing. 5 free runs a day for each image tool, then 25 credits a run, charged only when the result is ready. Give the photo as file_id (the user uploads it through get_upload_link) or image_url. The result link works for 24 hours; give it to the user exactly as returned.

colorize_photo input schema
{
  "type": "object",
  "properties": {
    "file_id": {
      "type": "string",
      "description": "The file_id from get_upload_link, once the user has uploaded the photo there."
    },
    "image_url": {
      "type": "string",
      "description": "Or a public https link to a JPEG, PNG or WebP photo. A result link from another YangOpen image tool works too."
    },
    "restore_faces": {
      "type": "boolean",
      "default": true,
      "description": "Restore the faces as well. Default true."
    }
  },
  "additionalProperties": false
}
colorize_photo output schema
{
  "type": "object",
  "required": [
    "url",
    "expires_at",
    "content_type",
    "bytes",
    "credits_charged",
    "free_run"
  ],
  "properties": {
    "url": {
      "type": "string"
    },
    "bytes": {
      "type": "integer"
    },
    "free_run": {
      "type": "boolean"
    },
    "expires_at": {
      "type": "string"
    },
    "content_type": {
      "type": "string"
    },
    "free_runs_left": {
      "type": "integer"
    },
    "balance_credits": {
      "type": "integer"
    },
    "credits_charged": {
      "type": "integer"
    }
  }
}
colorize_photo annotations
{
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
sharpen_image — Sharpen and enlarge a photo
Advertised by the server during the last successful anonymous check.
Open-world

Make a blurry, small or old photo sharp and larger (AI upscaling). It can also restore faces, and clean scratches and dust from an old print. 5 free runs a day for each image tool, then 25 credits a run, charged only when the result is ready. Give the photo as file_id (the user uploads it through get_upload_link) or image_url. The result link works for 24 hours; give it to the user exactly as returned.

sharpen_image input schema
{
  "type": "object",
  "properties": {
    "detail": {
      "type": "number",
      "default": 70,
      "maximum": 100,
      "minimum": 0,
      "description": "How much fine texture to keep, 0 to 100: higher keeps more detail, lower removes more noise. Default 70."
    },
    "file_id": {
      "type": "string",
      "description": "The file_id from get_upload_link, once the user has uploaded the photo there."
    },
    "image_url": {
      "type": "string",
      "description": "Or a public https link to a JPEG, PNG or WebP photo. A result link from another YangOpen image tool works too."
    },
    "enhance_faces": {
      "type": "boolean",
      "default": false,
      "description": "Restore faces too. Default false."
    },
    "restore_old_photo": {
      "type": "boolean",
      "default": false,
      "description": "Clean scratches, dust and peeling from an old print. Default false."
    }
  },
  "additionalProperties": false
}
sharpen_image output schema
{
  "type": "object",
  "required": [
    "url",
    "expires_at",
    "content_type",
    "bytes",
    "credits_charged",
    "free_run"
  ],
  "properties": {
    "url": {
      "type": "string"
    },
    "bytes": {
      "type": "integer"
    },
    "free_run": {
      "type": "boolean"
    },
    "expires_at": {
      "type": "string"
    },
    "content_type": {
      "type": "string"
    },
    "free_runs_left": {
      "type": "integer"
    },
    "balance_credits": {
      "type": "integer"
    },
    "credits_charged": {
      "type": "integer"
    }
  }
}
sharpen_image annotations
{
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
expand_image — Expand a photo past its edges
Advertised by the server during the last successful anonymous check.
Open-world

Extend a photo with AI-painted surroundings: to a new shape such as 16:9 (a cover), 9:16 (a phone story) or 1:1, or by a share of its size on the sides you choose. It never crops: the original pixels stay as they were. Can take up to a minute. 5 free runs a day for each image tool, then 25 credits a run, charged only when the result is ready. Give the photo as file_id (the user uploads it through get_upload_link) or image_url. The result link works for 24 hours; give it to the user exactly as returned.

expand_image input schema
{
  "type": "object",
  "properties": {
    "top": {
      "type": "number",
      "maximum": 2,
      "minimum": 0,
      "description": "Height to add at the top, as a share of the photo's height."
    },
    "left": {
      "type": "number",
      "maximum": 2,
      "minimum": 0,
      "description": "Width to add on the left, as a share of the photo's width (0.5 adds half)."
    },
    "right": {
      "type": "number",
      "maximum": 2,
      "minimum": 0,
      "description": "Width to add on the right, as a share of the photo's width."
    },
    "bottom": {
      "type": "number",
      "maximum": 2,
      "minimum": 0,
      "description": "Height to add at the bottom, as a share of the photo's height."
    },
    "file_id": {
      "type": "string",
      "description": "The file_id from get_upload_link, once the user has uploaded the photo there."
    },
    "image_url": {
      "type": "string",
      "description": "Or a public https link to a JPEG, PNG or WebP photo. A result link from another YangOpen image tool works too."
    },
    "aspect_ratio": {
      "type": "string",
      "description": "The shape to reach, like 16:9, 9:16, 4:5 or 1:1. Give this, or the sides."
    }
  },
  "additionalProperties": false
}
expand_image output schema
{
  "type": "object",
  "required": [
    "url",
    "expires_at",
    "content_type",
    "bytes",
    "credits_charged",
    "free_run"
  ],
  "properties": {
    "url": {
      "type": "string"
    },
    "bytes": {
      "type": "integer"
    },
    "free_run": {
      "type": "boolean"
    },
    "expires_at": {
      "type": "string"
    },
    "content_type": {
      "type": "string"
    },
    "free_runs_left": {
      "type": "integer"
    },
    "balance_credits": {
      "type": "integer"
    },
    "credits_charged": {
      "type": "integer"
    }
  }
}
expand_image annotations
{
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
scan_document — Scan a photo of a page
Advertised by the server during the last successful anonymous check.
Open-world

Turn a phone photo of a page (a document, a receipt, a page of a book) into a flat, straight scan: the page is found, cut out of the background and unbent, and comes back as a JPEG. 5 free runs a day for each image tool, then 25 credits a run, charged only when the result is ready. Give the photo as file_id (the user uploads it through get_upload_link) or image_url. The result link works for 24 hours; give it to the user exactly as returned.

scan_document input schema
{
  "type": "object",
  "properties": {
    "file_id": {
      "type": "string",
      "description": "The file_id from get_upload_link, once the user has uploaded the photo there."
    },
    "image_url": {
      "type": "string",
      "description": "Or a public https link to a JPEG, PNG or WebP photo. A result link from another YangOpen image tool works too."
    }
  },
  "additionalProperties": false
}
scan_document output schema
{
  "type": "object",
  "required": [
    "url",
    "expires_at",
    "content_type",
    "bytes",
    "credits_charged",
    "free_run"
  ],
  "properties": {
    "url": {
      "type": "string"
    },
    "bytes": {
      "type": "integer"
    },
    "free_run": {
      "type": "boolean"
    },
    "expires_at": {
      "type": "string"
    },
    "content_type": {
      "type": "string"
    },
    "free_runs_left": {
      "type": "integer"
    },
    "balance_credits": {
      "type": "integer"
    },
    "credits_charged": {
      "type": "integer"
    }
  }
}
scan_document annotations
{
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
word_to_pdf — Convert a Word file to PDF
Advertised by the server during the last successful anonymous check.
Open-world

Turn a Word document (.docx or .doc, up to 25 MB) into a PDF with the layout Word gave it, on YangOpen's server. A few hundred pages take under half a minute; a much longer document may not finish. 5 free files a day, then 25 credits a file, charged only when the PDF is ready. Give the file as file_id (the user uploads it through get_upload_link) or file_url. The PDF link works for 24 hours; give it to the user exactly as returned.

word_to_pdf input schema
{
  "type": "object",
  "properties": {
    "file_id": {
      "type": "string",
      "description": "The file_id from get_upload_link, once the user has uploaded the Word file there."
    },
    "file_url": {
      "type": "string",
      "description": "Or a public https link to a .docx or .doc file."
    }
  },
  "additionalProperties": false
}
word_to_pdf output schema
{
  "type": "object",
  "required": [
    "url",
    "expires_at",
    "content_type",
    "bytes",
    "credits_charged",
    "free_run"
  ],
  "properties": {
    "url": {
      "type": "string"
    },
    "bytes": {
      "type": "integer"
    },
    "free_run": {
      "type": "boolean"
    },
    "expires_at": {
      "type": "string"
    },
    "content_type": {
      "type": "string"
    },
    "free_runs_left": {
      "type": "integer"
    },
    "balance_credits": {
      "type": "integer"
    },
    "credits_charged": {
      "type": "integer"
    }
  }
}
word_to_pdf annotations
{
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
convert_vietnamese_font — Fix Vietnamese text typed in the old fonts (TCVN3, VNI)
Advertised by the server during the last successful anonymous check.
Advertised read-only

Turn Vietnamese text typed in the old fonts (TCVN3/ABC such as .VnTime, or VNI such as VNI-Times) into Unicode, so it reads right in any font: "Céng hßa x· héi chñ nghÜa" becomes "Cộng hòa xã hội chủ nghĩa". The old font is guessed from the text unless you name it. Up to 5,000 characters a call. Free. For a whole Word or Excel file, send the user to https://yangopen.com/vi/tools/font-to-unicode/.

convert_vietnamese_font input schema
{
  "type": "object",
  "required": [
    "text"
  ],
  "properties": {
    "font": {
      "enum": [
        "auto",
        "tcvn3",
        "tcvn3-upper",
        "vni"
      ],
      "type": "string",
      "default": "auto",
      "description": "The old font's table: tcvn3 (.VnTime and the other .Vn fonts), tcvn3-upper (.VnTimeH and the other fonts ending in H, all capitals), vni (VNI-Times and the other VNI fonts), or auto (guess). Default auto."
    },
    "text": {
      "type": "string",
      "description": "The text as it looks now, copied from the document."
    }
  },
  "additionalProperties": false
}
convert_vietnamese_font output schema
{
  "type": "object",
  "required": [
    "text",
    "font",
    "letters_changed"
  ],
  "properties": {
    "font": {
      "type": "string"
    },
    "text": {
      "type": "string"
    },
    "letters_changed": {
      "type": "integer"
    }
  }
}
convert_vietnamese_font annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
convert_time — Convert a time between time zones
Advertised by the server during the last successful anonymous check.
Advertised read-only

What a time in one place is in other places, with daylight saving applied for that date. Name zones the IANA way (Asia/Ho_Chi_Minh, America/New_York, Europe/London, Australia/Sydney) or UTC. Free.

convert_time input schema
{
  "type": "object",
  "required": [
    "from_zone",
    "to_zones"
  ],
  "properties": {
    "date": {
      "type": "string",
      "description": "The date in from_zone, like 2026-11-05. Default: today in from_zone."
    },
    "time": {
      "type": "string",
      "description": "The time on a 24-hour clock, like 09:30 or 21:00. Default: now."
    },
    "to_zones": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "maxItems": 20,
      "minItems": 1,
      "description": "The zones to show it in, like [\"America/New_York\", \"Europe/London\"]."
    },
    "from_zone": {
      "type": "string",
      "description": "The zone the time is in, like Asia/Ho_Chi_Minh."
    }
  },
  "additionalProperties": false
}
convert_time output schema
{
  "type": "object",
  "required": [
    "utc",
    "from",
    "times"
  ],
  "properties": {
    "utc": {
      "type": "string"
    },
    "from": {
      "type": "object"
    },
    "times": {
      "type": "array",
      "items": {
        "type": "object"
      }
    }
  }
}
convert_time annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
331 ms
95th percentile latency
331 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 331 ms · metadata changed · 13 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http yangopen-mcp https://yangopen.com/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add yangopen-mcp --url https://yangopen.com/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable yangopen-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "yangopen-mcp": {
      "url": "https://yangopen.com/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "yangopen-mcp": {
      "type": "streamableHttp",
      "url": "https://yangopen.com/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start yangopen-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "yangopen-mcp": {
      "type": "http",
      "url": "https://yangopen.com/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http yangopen-mcp https://yangopen.com/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "yangopen-mcp": {
      "url": "https://yangopen.com/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "yangopen-mcp": {
      "serverUrl": "https://yangopen.com/mcp"
    }
  }
}

Let your agent find its tools

Find servers like YangOpen MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run YangOpen MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing