0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PythonプロジェクトをGitHubで管理してIssueを登録する GitHub MCP Server連携までの流れ

0
Last updated at Posted at 2026-09-08

はじめに

本記事では、簡単なPythonプロジェクトを作成してGitHubで管理し、Issueを登録するまでの手順を整理します。そのうえで、登録したIssueがGitHub MCP Server経由でCodexから取得できることを確認できる状態を目指します。

最終的に作りたいのは、次のような状態です。

ローカルPC
│
│ git push
▼
GitHub Repository
│
├─ main.py
├─ README.md
│
└─ Issues
   └─ #1 「掛け算機能を追加する」

この状態を作ったあと、GitHub MCP Serverを接続したCodexに「Issue #1 の内容を教えて」と依頼すると、GitHub MCP Server経由でIssueを取得できる、という流れを体験します。

これからGitHubでのプロジェクト管理を学ぶ方や、MCPを使ってLLMから外部サービスを操作する感覚をつかみたい方の参考になれば幸いです。

補足: 本記事の内容は執筆時点の情報にもとづいています。GitHubやCodex、GitHub MCP Serverは更新が速いため、最新の手順は各公式ドキュメントで確認してください。

この記事のゴール

本記事では、次の2段階を通じて「LLMがMCP ServerのToolを使う」意味を体験します。

  1. ブラウザからIssueを手動登録する(GitHubの基本操作)
  2. Codex + GitHub MCP ServerからIssueを読み取る(MCPの役割分担を確認)

最初はシンプルに、Pythonプロジェクトを作ってGitHubに登録し、Issueを1件登録するところから始めます。

参考記事
MCP Serverの準備やCodexとの連携方法については、以下の記事で詳しく解説しています。あわせてご参照ください。
【第2回】GitHub公式MCP ServerをCodexから使ってみる 〜公開MCP Serverの基本〜

全体像

今回作成するプロジェクトの構成はとてもシンプルです。

python-codex-sample/
│
├─ main.py
└─ README.md

このプロジェクトをGitHubに登録し、そこにIssueを追加していきます。

1. Pythonプロジェクトを作成する

まずはPowerShellを開きます。作業フォルダへ移動します。

cd C:\work

プロジェクトフォルダを作成して、その中に移動します。

mkdir python-codex-sample
cd python-codex-sample

2. Pythonプログラムを作成する

main.py を作成します。今回は2つの数値を加算するだけの簡単なプログラムです。

def add(a, b):
    return a + b


def main():
    x = 10
    y = 20
    result = add(x, y)
    print(f"{x} + {y} = {result}")


if __name__ == "__main__":
    main()

実行してみます。

python main.py

次のように表示されれば成功です。

10 + 20 = 30

これで簡単なPythonプロジェクトができました。

3. README.mdを作成する

プロジェクトの説明用に README.md を作成します。

# Python GitHub Sample

GitHubおよびGitHub MCP Serverの学習用Pythonプロジェクトです。

## 機能

現在は以下の機能があります。

- 2つの数値を加算する
- 計算結果を表示する

## 実行方法

```bash
python main.py
```

プロジェクト構成は次のようになります。

python-codex-sample/
│
├─ main.py
└─ README.md

4. Gitリポジトリを作成する

プロジェクトフォルダで実行します。

git init

現在の状態を確認します。

git status

例えば次のように表示されます。

Untracked files:
    README.md
    main.py

ファイルをGitの管理対象にします。

git add .

コミットします。

git commit -m "Initial commit"

5. mainブランチに変更する

ブランチ名を main にします。

git branch -M main

確認します。

git branch

次のように表示されればOKです。

* main

6. GitHubでリポジトリを作成する

GitHubにログインして、新しいRepositoryを作成します。設定は例えば次のようにします。

項目 設定例
Repository name python-codex-sample
Description GitHub MCP Server learning sample
Public / Private どちらでも可

今回はすでにローカルで README.md を作成しているため、GitHub側では Add a README file にチェックを入れないほうが分かりやすいです。空のRepositoryを作成します。

7. ローカルとGitHubを接続する

GitHub Repositoryを作成すると、例えば次のようなURLになります。

https://github.com/USERNAME/python-codex-sample.git

ローカルPCからGitHub Repositoryを登録します。USERNAME は自分のGitHubユーザー名に置き換えてください。

git remote add origin https://github.com/USERNAME/python-codex-sample.git

登録できたか確認します。

git remote -v

例えば次のように表示されればOKです。

origin  https://github.com/USERNAME/python-codex-sample.git (fetch)
origin  https://github.com/USERNAME/python-codex-sample.git (push)

8. GitHubへPushする

次を実行します。

git push -u origin main

GitHubのRepositoryをブラウザで開きます。

python-codex-sample
│
├─ README.md
└─ main.py

上記が表示されれば成功です。

補足: GitHubでは通常、ローカルの main ブランチをリモートの origin/main に送信する場合に git push origin main を使います。-u--set-upstream)を付けておくと、次回以降は git push だけで済みます。

9. GitHub Issuesを開く

GitHub Repositoryを開き、上部タブの Code / Issues / Pull requests / Actions ... の中から、Issues をクリックします。

続いて、New issue をクリックします。

GitHub公式ドキュメントでも、Repository → Issues → New issue の順でIssueを作成する手順になっています。

10. Issueを登録する

今回は、現在のプログラムに「掛け算機能を追加する」というIssueを登録してみます。

Title

掛け算機能を追加する

Description

## 概要

現在は加算処理のみ実装されています。
掛け算を行う機能を追加してください。

## 実装内容

main.py に以下の関数を追加する。

```python
def multiply(a, b):
    return a * b
```

## 完了条件

以下の処理が実行できること。

- `multiply(10, 20)` の実行結果が `200` になること

Issue登録完了後
image.png

GitHubではIssueのタイトル・本文のほか、必要に応じてLabel、Assignee、Milestoneなども設定できます。

11. Issueが登録されたことを確認する

Issue一覧を見ると、次のように表示されます。

image.png

この #1 がIssue番号です。

ここまででGitHubは次の状態になります。

GitHub
python-codex-sample
│
├─ main.py
├─ README.md
│
└─ Issues
   └─ #1 掛け算機能を追加する

GitHub上に、ソースコードと開発タスク(Issue)の両方が存在する状態になりました。

12. GitHub MCP Serverとの関係

ここでGitHub MCP Serverを使うと、構成は次のようになります。

Codex
│
│ MCP
▼
GitHub MCP Server
│
├─ Issueを検索するツール
├─ Issueを取得するツール
├─ Pull Requestを取得するツール
└─ Repository情報を取得するツール
│
▼
GitHub
└─ python-codex-sample
   └─ Issue #1「掛け算機能を追加する」

つまり、今回作成したIssueが、MCP Serverから取得する実データになります。

13. CodexからIssueを取得する

GitHub MCP ServerをCodexに接続した後で、Codexに例えば次のように依頼します。

python-codex-sample のIssue #1 の内容を教えて

すると、イメージとしては次のような処理が行われます。

ユーザー
│
│ 「Issue #1を教えて」
▼
Codex
│
│ MCP Tool Call
▼
GitHub MCP Server
│
│ GitHub API
▼
GitHub
Issue #1 掛け算機能を追加する

重要なのはここです。

Codex
  ↓ MCPのToolを呼ぶ
GitHub MCP Server
  ↓ GitHub APIを呼ぶ
GitHub
  ↓ Issue情報を返す

つまり、Codex自身がGitHub APIの細かなアクセス方法を実装するのではなく、GitHubへの具体的なアクセス処理はGitHub MCP Serverが担当するというMCPの役割分担を、この小さなプロジェクトで確認できます。

14. Issueを増やして「検索」を体験する

さらに分かりやすくするなら、Issueを3件くらい登録すると、MCPの「検索」がより分かりやすくなります。

#1 掛け算機能を追加する
#2 割り算機能を追加する
#3 計算結果の入力チェックを追加する

そのうえでCodexに、次のように依頼します。

このリポジトリの未解決Issueを一覧表示して

あるいは、

「割り算」に関係するIssueを探して

すると、次のような形になります。

Codex
│
│ Issue検索Tool
▼
GitHub MCP Server
│
▼
GitHub
└─ Issues
   ├─ #1 掛け算機能
   ├─ #2 割り算機能  ← Hit
   └─ #3 入力チェック

こうすると、「LLMがMCP ServerのToolを使う」意味がかなり見えやすくなります。

補足: GitHub CLIを使う場合は、Issueをコマンドから gh issue create --title ... --body ... で作成したり、gh issue list で一覧取得することもできます。ただし今回の教材用途なら、まずはブラウザからIssueを手動登録するのが分かりやすいです。

まとめ

本記事では、PythonプロジェクトをGitHubで管理し、Issueを登録するまでの流れを解説しました。

ステップ ポイント
プロジェクト作成 main.pyREADME.md を用意する
Git管理 git initgit addgit commitgit branch -M main
GitHub接続 空のRepositoryを作り、git remote addgit push
Issue登録 ブラウザから Issues → New issue で手動登録する
MCP連携 登録したIssueがGitHub MCP Server経由でCodexから取得できる

理解の順序としては、

  1. まずはブラウザからIssueを手動登録する
  2. 次の演習でCodex + GitHub MCP ServerからIssueを読み取る

という2段階に分けるのが一番分かりやすい構成です。

小さなプロジェクトでも、「ソースコード」と「Issue(開発タスク)」の両方をGitHubで管理し、そこにMCPを重ねることで、LLMがToolを通じて外部サービスを操作する感覚をつかめます。ぜひ手を動かして体験してみてください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?