Pular para o conteúdo
Skillpedia
APIs e servidores (backend)40 mil · #5207

kotlin-mcp-server-generator

Permite que seu agente crie um projeto de servidor completo em Kotlin usando o SDK oficial. Facilita a configuração inicial e a estrutura do projeto.

O que ela faz

Este agente cria um projeto de servidor completo em Kotlin para usar o Model Context Protocol (MCP). Ele configura a estrutura do projeto, adiciona as bibliotecas necessárias e prepara o servidor para funcionar.

Quando usar

  • ✓Quando você quer criar um novo servidor MCP em Kotlin.
  • ✓Ao precisar de um projeto base com toda a estrutura pronta.
  • ✓Para iniciar rapidamente o desenvolvimento de um servidor MCP.

Exemplo do que pedir para a IA

“Crie um projeto de servidor MCP em Kotlin chamado 'meu-servidor'.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/github/awesome-copilot/blob/main/skills/kotlin-mcp-server-generator/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/github/awesome-copilot/blob/main/skills/kotlin-mcp-server-generator/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

Ele usa o Gradle para gerenciar o projeto, adiciona bibliotecas como Ktor e o SDK oficial do MCP. Também inclui ferramentas básicas, tratamento de erros e testes.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add github/awesome-copilot --skill kotlin-mcp-server-generator

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/kotlin-mcp-server-generator/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Gerador de Projetos de Servidor Kotlin MCP

Gere um projeto de servidor Model Context Protocol (MCP) completo e pronto para produção em Kotlin.

Requisitos do Projeto

Você criará um servidor MCP em Kotlin com:

  1. Estrutura do Projeto: Layout de projeto Kotlin baseado em Gradle
  2. Dependências: SDK oficial do MCP, Ktor e bibliotecas kotlinx
  3. Configuração do Servidor: Servidor MCP configurado com transportes
  4. Ferramentas: Pelo menos 2-3 ferramentas úteis com entradas/saídas tipadas
  5. Tratamento de Erros: Tratamento de exceções e validação adequados
  6. Documentação: README com instruções de configuração e uso
  7. Testes: Estrutura básica de testes com corrotinas

Estrutura do Template

myserver/
├── build.gradle.kts
├── settings.gradle.kts
├── gradle.properties
├── src/
│   ├── main/
│   │   └── kotlin/
│   │       └── com/example/myserver/
│   │           ├── Main.kt
│   │           ├── Server.kt
│   │           ├── config/
│   │           │   └── Config.kt
│   │           └── tools/
│   │               ├── Tool1.kt
│   │               └── Tool2.kt
│   └── test/
│       └── kotlin/
│           └── com/example/myserver/
│               └── ServerTest.kt
└── README.md

Template build.gradle.kts

plugins {
    kotlin("jvm") version "2.1.0"
    kotlin("plugin.serialization") version "2.1.0"
    application
}

group = "com.example"
version = "1.0.0"

repositories {
    mavenCentral()
}

dependencies {
    implementation("io.modelcontextprotocol:kotlin-sdk:0.7.2")
    
    // Ktor for transports
    implementation("io.ktor:ktor-server-netty:3.0.0")
    implementation("io.ktor:ktor-client-cio:3.0.0")
    
    // Serialization
    implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.7.3")
    
    // Coroutines
    implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.9.0")
    
    // Logging
    implementation("io.github.oshai:kotlin-logging-jvm:7.0.0")
    implementation("ch.qos.logback:logback-classic:1.5.12")
    
    // Testing
    testImplementation(kotlin("test"))
    testImplementation("org.jetbrains.kotlinx:kotlinx-coroutines-test:1.9.0")
}

application {
    mainClass.set("com.example.myserver.MainKt")
}

tasks.test {
    useJUnitPlatform()
}

kotlin {
    jvmToolchain(17)
}

Template settings.gradle.kts

rootProject.name = "{{PROJECT_NAME}}"

Template Main.kt

package com.example.myserver

import io.modelcontextprotocol.kotlin.sdk.server.StdioServerTransport
import kotlinx.coroutines.runBlocking
import io.github.oshai.kotlinlogging.KotlinLogging

private val logger = KotlinLogging.logger {}

fun main() = runBlocking {
    logger.info { "Starting MCP server..." }
    
    val config = loadConfig()
    val server = createServer(config)
    
    // Use stdio transport
    val transport = StdioServerTransport()
    
    logger.info { "Server '${config.name}' v${config.version} ready" }
    server.connect(transport)
}

Template Server.kt

package com.example.myserver

import io.modelcontextprotocol.kotlin.sdk.server.Server
import io.modelcontextprotocol.kotlin.sdk.server.ServerOptions
import io.modelcontextprotocol.kotlin.sdk.Implementation
import io.modelcontextprotocol.kotlin.sdk.ServerCapabilities
import com.example.myserver.tools.registerTools

fun createServer(config: Config): Server {
    val server = Server(
        serverInfo = Implementation(
            name = config.name,
            version = config.version
        ),
        options = ServerOptions(
            capabilities = ServerCapabilities(
                tools = ServerCapabilities.Tools(),
                resources = ServerCapabilities.Resources(
                    subscribe = true,
                    listChanged = true
                ),
                prompts = ServerCapabilities.Prompts(listChanged = true)
            )
        )
    ) {
        config.description
    }
    
    // Register all tools
    server.registerTools()
    
    return server
}

Template Config.kt

package com.example.myserver.config

import kotlinx.serialization.Serializable

@Serializable
data class Config(
    val name: String = "{{PROJECT_NAME}}",
    val version: String = "1.0.0",
    val description: String = "{{PROJECT_DESCRIPTION}}"
)

fun loadConfig(): Config {
    return Config(
        name = System.getenv("SERVER_NAME") ?: "{{PROJECT_NAME}}",
        version = System.getenv("VERSION") ?: "1.0.0",
        description = System.getenv("DESCRIPTION") ?: "{{PROJECT_DESCRIPTION}}"
    )

…
Perguntas frequentes

O que é Model Context Protocol (MCP)?

É um protocolo para comunicação entre diferentes partes de um sistema, permitindo que elas troquem informações e chamem funcionalidades umas das outras de forma padronizada.

O que são Ktor e Kotlinx?

Ktor é um framework para criar aplicações web e serviços em Kotlin. Kotlinx são bibliotecas adicionais para Kotlin, como as de serialização (para converter dados em texto e vice-versa) e coroutines (para lidar com tarefas assíncronas).

O que são 'tools' (ferramentas) neste contexto?

São funções específicas que o seu servidor MCP pode oferecer para ser chamadas por outros sistemas. Este gerador já inclui um modelo para você adicionar suas próprias ferramentas.

Detalhes

Descrição original do autor

Generate a complete Kotlin MCP server project with proper structure, dependencies, and implementation using the official io.modelcontextprotocol:kotlin-sdk library.

repo: github/awesome-copilot

Popularidade

Estrelas no GitHub
40 mil
Posição no ranking
#5207
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas