Skip to main content

Copilot SDK와 함께 MCP 서버 사용

          코필로트 SDK와 MCP 서버를 통합하여 애플리케이션 기능을 외부 도구로 확장합니다.

누가 이 기능을 사용할 수 있나요?

GitHub Copilot SDK 는 모든 Copilot 계획에서 사용할 수 있습니다.

참고

          코필로트 SDK가 현재 기술 미리 보기에 있습니다. 기능 및 가용성은 변경될 수 있습니다.
          코필로트 SDK
          **
          ** 서버(모델 컨텍스트 프로토콜)와 통합하여 외부 도구를 사용하여 도우미의 기능을 확장할 수 있습니다. MCP 서버는 별도의 프로세스로 실행되며 대화 중에 호출할 수 있는 Copilot 도구(함수)를 노출합니다.

MCP란?

          [MCP(모델 컨텍스트 프로토콜)](https://modelcontextprotocol.io/) 는 AI 도우미를 외부 도구 및 데이터 원본에 연결하기 위한 개방형 표준입니다. MCP 서버는 코드 또는 스크립트를 실행하고, 데이터베이스를 쿼리하고, 파일 시스템에 액세스하고, 외부 API를 호출하는 등의 작업을 수행할 수 있습니다.

서버 유형

SDK는 두 가지 유형의 MCP 서버를 지원합니다.

유형설명사용 사례
          **Local/Stdio** | 하위 프로세스로 실행되며 stdin/stdout을 통해 통신합니다. | 로컬 도구, 파일 액세스, 사용자 지정 스크립트 |

| HTTP/SSE | HTTP를 통해 액세스된 원격 서버 | 공유 서비스, 클라우드 호스팅 도구 |

Configuration

import { CopilotClient } from "@github/copilot-sdk";

const client = new CopilotClient();
const session = await client.createSession({
    model: "gpt-5",
    mcpServers: {
        // Local MCP server (stdio)
        "my-local-server": {
            type: "local",
            command: "node",
            args: ["./mcp-server.js"],
            env: { DEBUG: "true" },
            cwd: "./servers",
            tools: ["*"],  // "*" = all tools, [] = none, or list specific tools
            timeout: 30000,
        },
        // Remote MCP server (HTTP)
        "github": {
            type: "http",
            url: "https://api.githubcopilot.com/mcp/",
            headers: { "Authorization": "Bearer ${TOKEN}" },
            tools: ["*"],
        },
    },
});

Python, Go 및 .NET의 예제는 리포지토리를github/copilot-sdk 참조하세요.

빠른 시작: 파일 시스템 MCP 서버

공식 @modelcontextprotocol/server-filesystem MCP 서버를 사용하는 전체 작업 예제는 다음과 같습니다.

import { CopilotClient } from "@github/copilot-sdk";

async function main() {
    const client = new CopilotClient();

    // Create session with filesystem MCP server
    const session = await client.createSession({
        mcpServers: {
            filesystem: {
                type: "local",
                command: "npx",
                args: ["-y", "@modelcontextprotocol/server-filesystem", "/tmp"],
                tools: ["*"],
            },
        },
    });

    console.log("Session created:", session.sessionId);

    // The model can now use filesystem tools
    const result = await session.sendAndWait({
        prompt: "List the files in the allowed directory",
    });

    console.log("Response:", result?.data?.content);

    await session.disconnect();
    await client.stop();
}

main();

          [MCP 서버 디렉터리에서 MCP 서버를](https://github.com/modelcontextprotocol/servers) 사용할 수 있습니다. 인기 있는 옵션에는 `@modelcontextprotocol/server-github`, `@modelcontextprotocol/server-sqlite`및 `@modelcontextprotocol/server-puppeteer`.

구성 옵션

로컬/Stdio 서버

재산유형필수설명
type
          `"local"` 또는 `"stdio"` | No | 서버 유형(기본값: 로컬) |

| command | string | 예 | 실행할 명령 | | args | string[] | 예 | 명령 인수 | | env | object | No | 환경 변수 | | cwd | string | No | 작업 디렉터리 | | tools | string[] | No | 사용하도록 설정하는 도구(["*"] 모두, [] 없음) | | timeout | number | No | 시간 제한(밀리초) |

원격 서버(HTTP/SSE)

재산유형필수설명
type
          `"http"` 또는 `"sse"` | 예 | 서버 유형 |

| url | string | 예 | 서버 URL | | headers | object | No | HTTP 헤더(예: 인증) | | tools | string[] | No | 사용을 가능하게 하는 도구 | | timeout | number | No | 시간 제한(밀리초) |

Troubleshooting

도구가 표시되지 않거나 호출되지 않음

  1.        **MCP 서버가 올바르게 시작되는지 확인**합니다. 명령 및 인수가 올바른지 확인하고 시작 시 서버 프로세스가 충돌하지 않는지 확인합니다. stderr에서 오류 출력을 찾습니다.
    
  2.        **도구 구성 확인** - `tools` 또는 `["*"]` 필요한 특정 도구로 설정되거나 나열되어 있는지 확인합니다. 빈 배열 `[]` 은 도구가 활성화되지 않음을 의미합니다.
    
  3.        **원격 서버에 대한 연결 확인** - URL에 액세스할 수 있는지 확인하고 인증 헤더가 올바른지 확인합니다.
    

일반적인 문제

Issue해결 방법
"MCP 서버를 찾을 수 없습니다."명령 경로가 올바르고 실행 가능한지 확인합니다.
"연결 거부됨"(HTTP)URL을 확인하고 서버가 실행 중인지 확인합니다.
"시간 제한" 오류값을 증가시키거나 timeout 서버 성능을 확인하십시오.
도구가 작동하지만 호출되지 않음프롬프트에 도구의 기능이 명확하게 필요한지 확인합니다.

추가 읽기

  •         [모델 컨텍스트 프로토콜 사양](https://modelcontextprotocol.io/)
    
  •         [MCP 서버 디렉터리](https://github.com/modelcontextprotocol/servers) - 커뮤니티 MCP 서버
    
  •         [GitHub MCP 서버](https://github.com/github/github-mcp-server) - 공식 GitHub MCP 서버