From ebac26222acc8a6317ccfb0b6ef6cbd261ab51c6 Mon Sep 17 00:00:00 2001 From: Man Yue Mo Date: Thu, 9 Oct 2025 15:45:07 +0000 Subject: [PATCH 1/2] Use remote github mcp server --- taskflows/examples/example_large_list_result_iter.yaml | 2 +- toolboxes/github_official.yaml | 9 ++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/taskflows/examples/example_large_list_result_iter.yaml b/taskflows/examples/example_large_list_result_iter.yaml index b94c713..bb0ae87 100644 --- a/taskflows/examples/example_large_list_result_iter.yaml +++ b/taskflows/examples/example_large_list_result_iter.yaml @@ -17,6 +17,6 @@ taskflow: must_complete: true repeat_prompt: true agents: - - echo + - assistant user_prompt: | Echo this: The title is {{ RESULT_title }} and the url is {{ RESULT_url }}. diff --git a/toolboxes/github_official.yaml b/toolboxes/github_official.yaml index 0321281..e1cde32 100644 --- a/toolboxes/github_official.yaml +++ b/toolboxes/github_official.yaml @@ -3,8 +3,7 @@ seclab-taskflow-agent: version: 1 server_params: - kind: stdio - command: docker - args: ["run", "-i", "--rm", "-e", "GITHUB_PERSONAL_ACCESS_TOKEN", "ghcr.io/github/github-mcp-server"] - env: - GITHUB_PERSONAL_ACCESS_TOKEN: "{{ env GITHUB_PERSONAL_ACCESS_TOKEN }}" + kind: streamable + url: https://api.githubcopilot.com/mcp/ + headers: + Authorization: "{{ env GITHUB_AUTH_HEADER }}" \ No newline at end of file From f82c69ba191f08e281ab1f263819e4ebeb25bdd5 Mon Sep 17 00:00:00 2001 From: Man Yue Mo Date: Thu, 9 Oct 2025 15:48:30 +0000 Subject: [PATCH 2/2] Remove socket from run script, change README and fix some typos --- README.md | 19 ++----------------- docker/run.sh | 1 - 2 files changed, 2 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index 6f53bd3..7452f9f 100644 --- a/README.md +++ b/README.md @@ -115,23 +115,21 @@ MY_TASKFLOWS=~/my_taskflows MY_DATA=~/codeql_databases CODEQL_DBS_BASE_PATH=/app For more advanced scenarios like e.g. making custom MCP server code available, you can alter the run script to mount your custom code into the image and configure your toolboxes to use said code accordingly. -Example: a custom MCP server deployment via Docker image: - ```sh export MY_MCP_SERVERS="$PWD"/mcp_servers export MY_TOOLBOXES="$PWD"/toolboxes export MY_PERSONALITIES="$PWD"/personalities export MY_TASKFLOWS="$PWD"/taskflows export MY_PROMPTS="$PWD"/prompts +export MY_DATA="$PWD"/data if [ ! -f ".env" ]; then touch ".env" fi docker run \ - --volume /var/run/docker.sock:/var/run/docker.sock \ --volume "$PWD"/logs:/app/logs \ - --mount type=bind,src="$PWD"/env,dst=/app/.env,ro \ + --mount type=bind,src="$PWD"/.env,dst=/app/.env,ro \ ${MY_DATA:+--mount type=bind,src=$MY_DATA,dst=/app/my_data} \ ${MY_MCP_SERVERS:+--mount type=bind,src=$MY_MCP_SERVERS,dst=/app/my_mcp_servers,ro} \ ${MY_TASKFLOWS:+--mount type=bind,src=$MY_TASKFLOWS,dst=/app/taskflows/my_taskflows,ro} \ @@ -141,19 +139,6 @@ docker run \ "ghcr.io/githubsecuritylab/seclab-taskflow-agent" "$@" ``` -Our default run script makes the Docker socket available to the image, which contains the Docker cli, so 3rd party Docker based stdio MCP servers also function as normal. - -Example: a toolbox configuration using the official GitHub MCP Server via Docker: - -```yaml -server_params: - kind: stdio - command: docker - args: ["run", "-i", "--rm", "-e", "GITHUB_PERSONAL_ACCESS_TOKEN", "ghcr.io/github/github-mcp-server"] - env: - GITHUB_PERSONAL_ACCESS_TOKEN: "{{ env GITHUB_PERSONAL_ACCESS_TOKEN }}" -``` - ## Personalities Core characteristics for a single Agent. Configured through YAML files in `personalities/`. diff --git a/docker/run.sh b/docker/run.sh index 798a450..4e77ad4 100755 --- a/docker/run.sh +++ b/docker/run.sh @@ -5,7 +5,6 @@ if [ ! -f ".env" ]; then fi docker run -i \ --platform linux/amd64 \ - --volume /var/run/docker.sock:/var/run/docker.sock \ --volume "$PWD/"logs:/app/logs \ --mount type=bind,src="$PWD/".env,dst=/app/.env,ro \ ${MY_DATA:+--mount type=bind,src=$MY_DATA,dst=/app/my_data} \