mcp-go
LLM 애플리케이션과 외부 데이터 소스 및 툴 간의 원활한 통합을 지원하는 Model Context Protocol (MCP)의 Go 구현체입니다.
파일 탐색기
- bug_report.md
- config.yml
- documentation-improvement.md
- feature-request.md
- ci.yml
- golangci-lint.yml
- pages.yml
- release.yml
- pull_request_template.md
- code-audit.md
- commit-push.md
- create-pr.md
- feature-request.md
- file-issue.md
- fix-issue.md
- new-prompt.md
- release-tagger.md
- resolve-reviews.md
- review-pr.md
- update-docs.md
- command.go
- command_test.go
- constants.go
- error.go
- idempotent_all_transports_test.go
- inprocess.go
- interface.go
- logging.go
- logging_test.go
- oauth.go
- oauth_nil_metadata_test.go
- oauth_test.go
- oauth_utils.go
- oauth_utils_test.go
- panic_recovery_test.go
- sse.go
- sse_oauth_test.go
- sse_test.go
- stdio.go
- stdio_idempotent_test.go
- stdio_test.go
- streamable_http.go
- streamable_http_bodyclose_test.go
- streamable_http_oauth_test.go
- streamable_http_sampling_test.go
- streamable_http_test.go
- utils.go
- utils_test.go
- client.go
- client_edge_cases_test.go
- elicitation.go
- elicitation_test.go
- http.go
- http_test.go
- inprocess.go
- inprocess_elicitation_test.go
- inprocess_sampling_test.go
- inprocess_test.go
- interface.go
- issue583_test.go
- iter.go
- iter_test.go
- mrtr.go
- oauth.go
- oauth_test.go
- protocol.go
- protocol_negotiation_test.go
- review_regression_test.go
- roots.go
- sampling.go
- sampling_test.go
- sse.go
- sse_test.go
- stdio.go
- stdio_test.go
- subscriptions.go
- tracing.go
- tracing_test.go
- protocol_2026_07_28_test.go
- resumability_http_test.go
- sampling_http_test.go
- scoped_request_resumability_test.go
- main.go
- main.go
- main.go
- id.go
- main.go
- main.go
- main.go
- main.go
- README.md
- main.go
- main.go
- README.md
- main.go
- main.go
- main.go
- main.go
- main.go
- README.md
- main.go
- README.md
- main.go
- README.md
- main.go
- README.md
- main.go
- main.go
- README.md
- main.go
- main.go
- base_metadata_test.go
- consts.go
- content_benchmark_test.go
- discover.go
- elicitation_test.go
- elicitation_validation_test.go
- error_unmarshal_test.go
- errors.go
- errors_additional_test.go
- errors_test.go
- headers.go
- headers_test.go
- icons_test.go
- meta.go
- mrtr.go
- mrtr_test.go
- prompts.go
- prompts_test.go
- resources.go
- resources_test.go
- result.go
- schema_cache.go
- schema_cache_test.go
- struct_schema.go
- struct_schema_test.go
- tasks.go
- tasks_test.go
- tools.go
- tools_additional_test.go
- tools_defer_loading_test.go
- tools_properties_test.go
- tools_test.go
- typed_tools.go
- typed_tools_additional_test.go
- typed_tools_test.go
- types.go
- types_test.go
- utils.go
- utils_additional_test.go
- utils_helpers_test.go
- utils_test.go
- version.go
- version_test.go
- mcptest.go
- mcptest_sampling_elicitation_test.go
- mcptest_test.go
- main.go
- README.md
- client_test.go
- go.mod
- go.sum
- logger.go
- logger_test.go
- meta_carrier.go
- meta_carrier_test.go
- options.go
- README.md
- server_test.go
- tracer.go
- data.go
- hooks.go.tmpl
- main.go
- README.md
- request_handler.go.tmpl
- cacheable_results.txtar
- discover.txtar
- legacy_unchanged.txtar
- missing_capabilities.txtar
- mrtr.txtar
- removed_methods.txtar
- resource_not_found.txtar
- unsupported_version.txtar
- client_info_store.go
- client_info_store_test.go
- completion.go
- conformance_test.go
- constants.go
- ctx.go
- discover.go
- elicitation.go
- elicitation_test.go
- errors.go
- event_store.go
- hooks.go
- http_cors.go
- http_cors_test.go
- http_localhost.go
- http_localhost_test.go
- http_transport_options.go
- inprocess_session.go
- input_validation.go
- input_validation_test.go
- jsonrpc_error.go
- logger.go
- logger_test.go
- mrtr.go
- mrtr_test.go
- output_validation.go
- output_validation_test.go
- param_headers_test.go
- protected_resource.go
- protected_resource_test.go
- protocol.go
- request_handler.go
- resource_errors.go
- resource_subscribe_test.go
- resource_test.go
- response.go
- roots.go
- roots_test.go
- sampling.go
- sampling_test.go
- server.go
- server_additional_test.go
- server_race_test.go
- server_test.go
- session.go
- session_hook_panic_test.go
- session_resource_helpers_test.go
- session_resource_templates_test.go
- session_test.go
- sse.go
- sse_panic_test.go
- sse_test.go
- stdio.go
- stdio_panic_test.go
- stdio_test.go
- streamable_http.go
- streamable_http_client_info_test.go
- streamable_http_elicitation_test.go
- streamable_http_handle.go
- streamable_http_handle_test.go
- streamable_http_modern.go
- streamable_http_modern_test.go
- streamable_http_resume.go
- streamable_http_sampling_error_label_test.go
- streamable_http_sampling_test.go
- streamable_http_test.go
- strict_input_schema_default_test.go
- subscriptions.go
- subscriptions_test.go
- task_hooks.go
- task_hooks_test.go
- task_limit_test.go
- task_panic_test.go
- task_response_format_test.go
- task_test.go
- task_tool_test.go
- tool_filter_call_test.go
- tracing.go
- tracing_test.go
- version_test.go
- mockstdio_server.go
- tracing.go
- tracing_test.go
- advanced-sampling.mdx
- basics.mdx
- index.mdx
- operations.mdx
- transports.mdx
- advanced-sampling.mdx
- advanced.mdx
- basics.mdx
- completions.mdx
- elicitation.mdx
- index.mdx
- middleware.mdx
- prompts.mdx
- resources.mdx
- tasks.mdx
- tools.mdx
- http.mdx
- index.mdx
- inprocess.mdx
- sse.mdx
- stdio.mdx
- core-concepts.mdx
- getting-started.mdx
- index.mdx
- protocol-2026-07-28.mdx
- quick-start.mdx
- logo.png
- styles.css
- .gitignore
- bun.lock
- package.json
- README.md
- tsconfig.json
- vocs.config.ts
- .gitignore
- .golangci.yml
- AGENTS.md
- CODE_OF_CONDUCT.md
- CONTRIBUTING.md
- go.mod
- go.sum
- LICENSE
- logo.png
- README.md
- SECURITY.md
# 설치 가이드
go설치 및 실행 절차
go get github.com/mark3labs/mcp-go
프로젝트에 mcp-go 라이브러리를 의존성으로 추가합니다.
go run main.go
작성한 MCP 서버 또는 예제 파일을 실행합니다.
관련 영상 가이드
Tutorial
핵심 명령어
go get github.com/mark3labs/mcp-go
mcp-go 패키지를 프로젝트에 설치합니다.
go run main.go
Go 프로그램을 빌드하고 즉시 실행합니다.
# CDN으로 사용하기
jsDelivrjsDelivr는 공개 GitHub 리포지토리를 별도 설정 없이 CDN으로 즉시 서빙합니다. 버전과 파일을 고르면 웹페이지에 바로 붙일 수 있는 링크와 예시 코드가 만들어집니다.
명령어 용어집
이 문서에서 사용된 명령어를 모아봤습니다. 낯선 명령어가 있다면 펼쳐서 확인해보세요.
fmt
설명 보기 ▼
fmt
단락을 결합하고 줄 너비를 문자 수 (기본적으로 75자)로 제한하여 텍스트 파일의 서식을 다시 지정.
더 많은 정보: <https://www.gnu.org/software/coreutils/manual/html_node/fmt-invocation.html>.
fmt {{path/to/file}}
파일 재포맷:
fmt {{[-w|--width]}} {{n}} {{path/to/file}}
(최대) `n` 문자의 출력 줄을 생성하는 파일 형식을 다시 지정:
fmt {{[-s|--split-only]}} {{path/to/file}}
주어진 너비보다 짧은 줄을 결합하지 않고, 파일 형식을 다시 지정:
go generate
설명 보기 ▼
go generate
Generate Go files by running commands within source files.
go generate
Generate Go files by running commands within source files:
go get
설명 보기 ▼
go get
Add a dependency package, or download packages in legacy GOPATH mode.
Note: `./...` is a Go package pattern understood by Go tooling. It matches the current package and all packages recursively under the current directory.
go get {{example.com/pkg}}
Add a specified package to `go.mod` in module-mode or install the package in GOPATH-mode:
go get {{example.com/pkg}}@{{v1.2.3}}
Modify the package with a given version in module-aware mode:
go get {{example.com/pkg}}@{{none}}
Remove a specified package:
goimports
설명 보기 ▼
goimports
Go 언어의 import 줄을 업데이트하여 누락된 항목을 추가하고 참조되지 않은 항목을 제거합니다.
더 많은 정보: <https://pkg.go.dev/golang.org/x/tools/cmd/goimports>.
goimports {{path/to/file.go}}
완료된 import 소스 파일 표시:
goimports -w {{path/to/file.go}}
결과를 `stdout` 대신 소스 파일에 다시 작성:
goimports -w -d {{path/to/file.go}}
차이점을 표시하고 결과를 소스 파일에 다시 작성:
select
설명 보기 ▼
select
메뉴를 생성하기 위한 Bash 내장 구조.
더 많은 정보: <https://www.gnu.org/software/bash/manual/bash.html#index-select>.
select {{word}} in {{apple orange pear banana}}; do echo ${{word}}; done
개별 단어로 메뉴 생성:
select {{line}} in $({{command}}); do echo ${{line}}; done
다른 명령의 출력으로 메뉴 생성:
PS3="{{Select a file: }}"; select {{file}} in *; do echo ${{file}}; done
`select`의 프롬프트 문자열을 지정하고 현재 디렉토리에서 파일이나 폴더를 선택하는 메뉴 생성:
Task
설명 보기 ▼
Task
명령줄 할 일 목록 관리 도구.
더 많은 정보: <https://taskwarrior.org/docs/>.
task add {{description}} due:{{tomorrow}}
내일까지 완료해야 할 새로운 작업 추가:
task {{task_id}} modify priority:{{H|M|L}}
작업의 우선순위 업데이트:
task {{task_id}} done
작업 완료:
