From 4cedb02c3bd07a9ffe17abe45e4bf809508d3e3e Mon Sep 17 00:00:00 2001 From: Kamil Mosciszko Date: Sat, 12 Sep 2026 22:20:04 +0200 Subject: [PATCH 1/2] Prepare ruby-utcp README update --- .github/workflows/add-ruby-utcp.yml | 48 +++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 .github/workflows/add-ruby-utcp.yml diff --git a/.github/workflows/add-ruby-utcp.yml b/.github/workflows/add-ruby-utcp.yml new file mode 100644 index 000000000..8d2b6d5fd --- /dev/null +++ b/.github/workflows/add-ruby-utcp.yml @@ -0,0 +1,48 @@ +name: Add ruby-utcp + +on: + push: + branches: + - add-ruby-utcp + +permissions: + contents: write + +jobs: + update-readme: + if: github.actor != 'github-actions[bot]' + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + ref: add-ruby-utcp + + - name: Add ruby-utcp to AI and LLMs + shell: bash + run: | + python - <<'PY' + from pathlib import Path + + path = Path("README.md") + text = path.read_text() + needle = "* [ruby-openai](https://github.com/alexrudall/ruby-openai) - OpenAI API + Ruby!\n" + addition = "* [ruby-utcp](https://github.com/universal-tool-calling-protocol/ruby-utcp) - A Ruby implementation of the Universal Tool Calling Protocol (UTCP) for discovering, searching, and calling tools over their native protocols.\n" + + if addition in text: + raise SystemExit("ruby-utcp is already present") + if needle not in text: + raise SystemExit("expected insertion point not found") + + path.write_text(text.replace(needle, needle + addition, 1)) + PY + + rm .github/workflows/add-ruby-utcp.yml + + - name: Commit README change + shell: bash + run: | + git config user.name "github-actions[bot]" + git config user.email "41898282+github-actions[bot]@users.noreply.github.com" + git add README.md .github/workflows/add-ruby-utcp.yml + git commit -m "Add ruby-utcp to AI and LLMs" + git push origin add-ruby-utcp From 312bed504975ec7dfb174ccb523303cc6a58ce60 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 12 Sep 2026 20:20:15 +0000 Subject: [PATCH 2/2] Add ruby-utcp to AI and LLMs --- .github/workflows/add-ruby-utcp.yml | 48 ----------------------------- README.md | 1 + 2 files changed, 1 insertion(+), 48 deletions(-) delete mode 100644 .github/workflows/add-ruby-utcp.yml diff --git a/.github/workflows/add-ruby-utcp.yml b/.github/workflows/add-ruby-utcp.yml deleted file mode 100644 index 8d2b6d5fd..000000000 --- a/.github/workflows/add-ruby-utcp.yml +++ /dev/null @@ -1,48 +0,0 @@ -name: Add ruby-utcp - -on: - push: - branches: - - add-ruby-utcp - -permissions: - contents: write - -jobs: - update-readme: - if: github.actor != 'github-actions[bot]' - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - with: - ref: add-ruby-utcp - - - name: Add ruby-utcp to AI and LLMs - shell: bash - run: | - python - <<'PY' - from pathlib import Path - - path = Path("README.md") - text = path.read_text() - needle = "* [ruby-openai](https://github.com/alexrudall/ruby-openai) - OpenAI API + Ruby!\n" - addition = "* [ruby-utcp](https://github.com/universal-tool-calling-protocol/ruby-utcp) - A Ruby implementation of the Universal Tool Calling Protocol (UTCP) for discovering, searching, and calling tools over their native protocols.\n" - - if addition in text: - raise SystemExit("ruby-utcp is already present") - if needle not in text: - raise SystemExit("expected insertion point not found") - - path.write_text(text.replace(needle, needle + addition, 1)) - PY - - rm .github/workflows/add-ruby-utcp.yml - - - name: Commit README change - shell: bash - run: | - git config user.name "github-actions[bot]" - git config user.email "41898282+github-actions[bot]@users.noreply.github.com" - git add README.md .github/workflows/add-ruby-utcp.yml - git commit -m "Add ruby-utcp to AI and LLMs" - git push origin add-ruby-utcp diff --git a/README.md b/README.md index cecd5b841..20726525c 100644 --- a/README.md +++ b/README.md @@ -165,6 +165,7 @@ Thanks to all [contributors](https://github.com/markets/awesome-ruby/graphs/cont * [openai-ruby](https://github.com/openai/openai-ruby) - The official Ruby SDK for the OpenAI API. * [RubyLLM](https://github.com/crmne/ruby_llm) - A delightful Ruby way to work with AI, providing one unified interface to OpenAI, Anthropic, Gemini, and other LLM providers. * [ruby-openai](https://github.com/alexrudall/ruby-openai) - OpenAI API + Ruby! +* [ruby-utcp](https://github.com/universal-tool-calling-protocol/ruby-utcp) - A Ruby implementation of the Universal Tool Calling Protocol (UTCP) for discovering, searching, and calling tools over their native protocols. * Model Context Protocol (MCP) * [ruby-sdk](https://github.com/modelcontextprotocol/ruby-sdk) - The official Ruby SDK for the Model Context Protocol (MCP), for building MCP servers and clients. * [tidewave](https://github.com/tidewave-ai/tidewave_rails) - MCP server for better agentic Rails development, runtime-level tools for your agent to talk to your running app.