Skip to main content
Glama

pipen-mcp

pipen 프로세스 및 파이프라인을 MCP (Model Context Protocol) 도구로 노출하여 AI 어시스턴트가 생물정보학 파이프라인을 발견하고 실행할 수 있게 해주는 pipen CLI 플러그인입니다.

개요

pipen-mcp는 pipen의 프로세스/파이프라인 생태계와 Model Context Protocol을 지원하는 AI 어시스턴트를 연결합니다. 설치가 완료되면 pipen_cli_run 진입점 그룹을 통해 등록된 모든 네임스페이스는 MCP 호환 클라이언트(예: Claude, VS Code Copilot, Cursor)에서 자동으로 발견 및 실행 가능해집니다.

Related MCP server: NGS360 MCP Server

설치

pip install pipen-mcp

pipen-mcp는 Python ≥ 3.10이 필요하며 다음 패키지에 의존합니다:

사용법

pipen-mcppipen CLI에 mcp 하위 명령어를 추가합니다:

pipen mcp [--transport {stdio,sse,streamable-http}] [--host HOST] [--port PORT]

옵션

설명

기본값

--transport

MCP 전송 방식 (stdio, sse, 또는 streamable-http)

stdio

--host

바인딩할 호스트 (SSE / streamable-http 전용)

127.0.0.1

--port

수신 대기할 포트 (SSE / streamable-http 전용)

8520

stdio (기본값)

서버를 하위 프로세스로 실행하는 MCP 클라이언트와의 직접 통합에 적합합니다:

pipen mcp

SSE

Server-Sent Events 전송을 사용하는 HTTP 서버를 시작합니다:

pipen mcp --transport sse --host 0.0.0.0 --port 8520

Streamable HTTP

streamable-HTTP 전송을 사용하는 HTTP 서버를 시작합니다:

pipen mcp --transport streamable-http --host 0.0.0.0 --port 8520

MCP 도구

이 서버는 점진적 공개 워크플로우를 지원하는 네 가지 도구를 노출합니다:

도구

설명

get_namespaces

사용 가능한 모든 네임스페이스를 나열합니다. 무엇이 설치되었는지 확인하려면 여기서 시작하세요.

get_processes

네임스페이스에서 사용 가능한 모든 프로세스/파이프라인을 나열합니다.

get_process

특정 프로세스/파이프라인에 대한 전체 인수 스키마를 가져옵니다.

run_process

CLI 인수 목록과 함께 프로세스/파이프라인을 실행합니다.

일반적인 워크플로우

1. get_namespaces()
   → "delim", "bam", "rnaseq", ...

2. get_processes("delim")
   → RowsBinder (proc): Bind rows of input files
   → ColsBinder (proc): Bind columns of input files

3. get_process("delim", "RowsBinder")
   → Required:
       --in.infiles <list[str]>  Input files
   → Optional:
       --envs.sep <str> (default: '\t')  Separator
       --outdir <str>  Output directory
       ...

4. run_process("delim", "RowsBinder", [
       "--in.infiles", "/tmp/a.csv,/tmp/b.csv",
       "--envs.sep", ",",
       "--outdir", "/tmp/out"
   ])
   → Pipeline output / logs

VS Code / Copilot 통합

MCP 구성(~/.vscode/mcp.json 또는 ~/.vscode-server/data/User/mcp.json)에 서버를 추가하세요:

{
  "servers": {
    "pipen-mcp": {
      "type": "stdio",
      "command": "pipen",
      "args": ["mcp"]
    }
  }
}

SSE의 경우:

{
  "servers": {
    "pipen-mcp": {
      "type": "sse",
      "url": "http://127.0.0.1:8520/sse"
    }
  }
}

네임스페이스 작성

모든 패키지는 pipen_cli_run 진입점을 선언하여 pipen-mcp에 프로세스/파이프라인을 등록할 수 있습니다:

# pyproject.toml
[project.entry-points."pipen_cli_run"]
myns = "mypackage.ns.myns"

참조된 모듈에는 Proc 하위 클래스(input 속성 포함) 또는 ProcGroup 하위 클래스가 포함되어야 합니다. 인수를 문서화하려면 pipen-annotate를 사용하세요. 주석이 달린 필드는 get_process 출력에 노출되며 도구 스키마를 구축하는 데 사용됩니다.

# mypackage/ns/myns.py
"""My namespace — tools for processing text files."""
from pipen import Proc
from pipen_annotate import annotate

@annotate
class MyProc(Proc):
    """Concatenate rows from multiple files.

    Input:
        infiles (list): Input files to concatenate

    Envs:
        sep (str): Column separator. Default: ","
    """
    input = "infiles:files"
    output = "outfile:file:{{in.infiles[0] | stem}}_concat.tsv"
    script = "..."

라이선스

MIT

Related MCP Connectors

Related MCP Servers

  • F
    license
    C
    quality
    D
    maintenance
    Exposes a local biomedical literature pipeline as MCP tools for automated research workflows. Enables literature search, open-access paper retrieval, and draft generation for biomedical and pathology domains through standard MCP clients.
    6
    -
  • F
    license
    C
    quality
    B
    maintenance
    Exposes the NGS360 bioinformatics platform REST API as MCP tools, enabling AI assistants to manage sequencing runs, projects, workflows, and more through natural language.
    82
    -