ima-claude 2.10.0 → 2.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,200 @@
1
+ ---
2
+ name: mcp-github
3
+ description: >-
4
+ GitHub MCP for FOSS and public repository management — pull requests, issues, code
5
+ review, repository search, and GitHub API operations. Use when: working with GitHub-hosted
6
+ repos, creating PRs for open source, managing GitHub issues, searching public repos, or
7
+ any github.com operation. Triggers on: GitHub, github.com, open source, FOSS, public repo,
8
+ gh pr, gh issue, upstream PR. NOT for internal repos — use mcp-gitea for Gitea-hosted repos.
9
+ Falls back to gh CLI when MCP tools unavailable.
10
+ ---
11
+
12
+ # GitHub MCP - FOSS & Public Repository Management
13
+
14
+ Use GitHub MCP tools for GitHub-hosted repositories. Falls back to the `gh` CLI when MCP tools aren't available.
15
+
16
+ ## Setup
17
+
18
+ Requires `GITHUB_PERSONAL_ACCESS_TOKEN` in your environment:
19
+
20
+ ```bash
21
+ export GITHUB_PERSONAL_ACCESS_TOKEN=ghp_yourtoken
22
+ ```
23
+
24
+ The GitHub MCP server is HTTP-based at `api.githubcopilot.com`. Tools are prefixed `mcp__github__*` and are **dynamically served** — exact tool names may vary. If a tool call fails with "tool not found", fall back to the `gh` CLI table below.
25
+
26
+ ## Tool Catalog
27
+
28
+ GitHub MCP tools map to GitHub REST API operations. Expected tools by category:
29
+
30
+ **Repository**
31
+
32
+ | Tool (expected) | Purpose |
33
+ |-----------------|---------|
34
+ | `mcp__github__search_repositories` | Find public repos by query |
35
+ | `mcp__github__get_repository` | Get repo metadata (stars, forks, topics) |
36
+ | `mcp__github__list_repository_contents` | List files/dirs in a repo |
37
+ | `mcp__github__get_file_contents` | Read a file from any branch/commit |
38
+ | `mcp__github__create_repository` | Create a new GitHub repo |
39
+ | `mcp__github__fork_repository` | Fork a repo to your account |
40
+
41
+ **Pull Requests**
42
+
43
+ | Tool (expected) | Purpose |
44
+ |-----------------|---------|
45
+ | `mcp__github__list_pull_requests` | List PRs with filters (state, label, author) |
46
+ | `mcp__github__get_pull_request` | Get PR details including diff metadata |
47
+ | `mcp__github__create_pull_request` | Open a new PR |
48
+ | `mcp__github__update_pull_request` | Edit title, body, labels, assignees |
49
+ | `mcp__github__merge_pull_request` | Merge a PR (merge, squash, or rebase) |
50
+ | `mcp__github__list_pull_request_reviews` | Get review status |
51
+ | `mcp__github__create_pull_request_review` | Submit a review (approve, request changes, comment) |
52
+ | `mcp__github__list_pull_request_comments` | List inline code comments |
53
+
54
+ **Issues**
55
+
56
+ | Tool (expected) | Purpose |
57
+ |-----------------|---------|
58
+ | `mcp__github__list_issues` | List issues with filters |
59
+ | `mcp__github__get_issue` | Get issue details and comments |
60
+ | `mcp__github__create_issue` | Open a new issue |
61
+ | `mcp__github__update_issue` | Edit title, body, state, assignees, labels |
62
+ | `mcp__github__list_issue_comments` | Get all comments on an issue |
63
+ | `mcp__github__add_issue_comment` | Post a comment on an issue |
64
+
65
+ **Code & Files**
66
+
67
+ | Tool (expected) | Purpose |
68
+ |-----------------|---------|
69
+ | `mcp__github__search_code` | Search code across GitHub repos |
70
+ | `mcp__github__create_or_update_file` | Commit a file change via API |
71
+
72
+ **Users & Orgs**
73
+
74
+ | Tool (expected) | Purpose |
75
+ |-----------------|---------|
76
+ | `mcp__github__get_user` | Get GitHub user profile |
77
+ | `mcp__github__search_users` | Find GitHub users |
78
+
79
+ ## `gh` CLI Fallback
80
+
81
+ When MCP tools aren't available or sufficient, use the `gh` CLI:
82
+
83
+ | Operation | `gh` Command |
84
+ |-----------|-------------|
85
+ | Create PR | `gh pr create --title "..." --body "..."` |
86
+ | List PRs | `gh pr list` |
87
+ | View PR | `gh pr view 123` |
88
+ | Merge PR | `gh pr merge 123 --squash` |
89
+ | Create issue | `gh issue create --title "..." --body "..."` |
90
+ | List issues | `gh issue list` |
91
+ | Close issue | `gh issue close 123` |
92
+ | View repo | `gh repo view owner/name` |
93
+ | Fork repo | `gh repo fork owner/name` |
94
+ | Clone fork | `gh repo clone owner/name` |
95
+ | Search repos | `gh search repos "query"` |
96
+ | Search code | `gh search code "query" --repo owner/name` |
97
+ | View file | `gh api repos/owner/name/contents/path` |
98
+
99
+ ## Decision Logic
100
+
101
+ ```
102
+ Check git remote: git remote -v
103
+
104
+ No remote configured?
105
+ → Local-only repo. Use git CLI directly.
106
+
107
+ Does the remote point to github.com?
108
+ → Yes: Use mcp__github__* tools
109
+ → MCP tools not available or responding?
110
+ → Use gh CLI as fallback
111
+ → No: Does it point to gitea.* / internal hostname?
112
+ → Yes: Use mcp__gitea__* tools (see mcp-gitea skill)
113
+ → Unknown: Check with the user
114
+
115
+ For local-only git operations (commit, diff, log, stash, branch):
116
+ → Always use git CLI directly — no MCP needed
117
+ ```
118
+
119
+ ## Common Workflows
120
+
121
+ ### Create a PR for a FOSS Project
122
+
123
+ ```
124
+ 1. Confirm the remote is github.com:
125
+ git remote -v
126
+
127
+ 2. Create the PR:
128
+ mcp__github__create_pull_request
129
+ owner: "FLCCC"
130
+ repo: "ima-claude"
131
+ title: "feat: add mcp-github skill"
132
+ body: "## Summary\n..."
133
+ head: "feat/mcp-github-skill"
134
+ base: "main"
135
+ ```
136
+
137
+ ### Manage Issues
138
+
139
+ ```
140
+ # Open a bug report
141
+ mcp__github__create_issue
142
+ owner: "FLCCC"
143
+ repo: "ima-claude"
144
+ title: "Bug: skill not loading"
145
+ body: "Steps to reproduce..."
146
+ labels: ["bug"]
147
+
148
+ # Close with a comment
149
+ mcp__github__add_issue_comment
150
+ owner: "FLCCC"
151
+ repo: "ima-claude"
152
+ issue_number: 42
153
+ body: "Fixed in v2.11.0"
154
+
155
+ mcp__github__update_issue
156
+ owner: "FLCCC"
157
+ repo: "ima-claude"
158
+ issue_number: 42
159
+ state: "closed"
160
+ ```
161
+
162
+ ### Search Public Repos
163
+
164
+ ```
165
+ mcp__github__search_repositories
166
+ query: "claude code skills mcp"
167
+ sort: "stars"
168
+
169
+ # Or via gh CLI:
170
+ gh search repos "claude mcp skills" --sort stars --limit 10
171
+ ```
172
+
173
+ ### Review a PR
174
+
175
+ ```
176
+ mcp__github__get_pull_request
177
+ owner: "FLCCC"
178
+ repo: "ima-claude"
179
+ pull_number: 15
180
+
181
+ mcp__github__create_pull_request_review
182
+ owner: "FLCCC"
183
+ repo: "ima-claude"
184
+ pull_number: 15
185
+ event: "APPROVE"
186
+ body: "LGTM"
187
+ ```
188
+
189
+ ## When NOT to Use
190
+
191
+ - Internal Gitea repos — use `mcp-gitea` skill instead
192
+ - Local git operations (commit, diff, stash) — use `git` CLI directly
193
+ - Reading local files — use the Read tool, not the GitHub API
194
+ - GitHub Actions configuration — edit files locally and push
195
+
196
+ ## Notes
197
+
198
+ - GitHub MCP tools are **dynamically served** — exact names may differ. If a tool call fails with "tool not found", fall back to `gh` CLI.
199
+ - The `gh` CLI is reliable and covers the majority of GitHub operations. MCP adds value for structured responses (search, bulk operations, code review workflows).
200
+ - Always confirm the target remote (`git remote -v`) before deciding which tool to use.
@@ -19,14 +19,18 @@ Our permanent reference library. Unlike Vestige (neural memory that fades if unu
19
19
 
20
20
  ## Embedding Stack
21
21
 
22
- | Component | Value |
23
- |---|---|
24
- | MCP server | `qdrant-mcp` (custom, at `~/dev/qdrant-mcp-server`) |
25
- | Embedding model | `nomic-embed-text` via Ollama |
26
- | Vector dimensions | 768 |
27
- | Distance metric | Cosine |
28
- | Vector type | Default (unnamed) |
29
- | Default collection | `ima-knowledge` |
22
+ Two embedding providers are supported. Ollama is the default; fastembed is a CPU-only alternative for machines where Ollama has performance issues.
23
+
24
+ | Component | Ollama (default) | fastembed |
25
+ |---|---|---|
26
+ | MCP server | `qdrant-mcp` (custom, at `~/dev/qdrant-mcp-server`) | same |
27
+ | Embedding model | `nomic-embed-text` | `BAAI/bge-small-en-v1.5` |
28
+ | Vector dimensions | 768 | 384 |
29
+ | Distance metric | Cosine | Cosine |
30
+ | Dependency | Ollama running locally | `pip install qdrant-mcp[fastembed]` |
31
+ | Default collection | `ima-knowledge` | `ima-knowledge` |
32
+
33
+ **Warning**: Collections can't be shared across providers (different vector dimensions). Switching providers requires a collection rebuild.
30
34
 
31
35
  ## Per-Project Collection
32
36
 
@@ -176,6 +180,8 @@ IF starting any new work:
176
180
  | Irrelevant results | Use more specific key terms |
177
181
  | Qdrant not responding | `docker ps \| grep qdrant` — restart if needed |
178
182
  | Ollama not responding | `ollama list` — ensure it's running with `nomic-embed-text` |
183
+ | fastembed not installed | `pip install qdrant-mcp[fastembed]` |
184
+ | Switched providers, bad results | Different vector dimensions — rebuild the collection |
179
185
  | Duplicate content | Search before storing to verify novelty |
180
186
 
181
187
  ## When NOT to Use
@@ -195,9 +201,12 @@ docker run -d --name qdrant \
195
201
  -v qdrant_storage:/qdrant/storage \
196
202
  qdrant/qdrant:latest
197
203
 
198
- # 2. Install Ollama and pull embedding model
204
+ # 2a. Option A: Ollama (default)
199
205
  ollama pull nomic-embed-text
200
206
 
207
+ # 2b. Option B: fastembed (CPU-only, no Ollama needed)
208
+ # pip install qdrant-mcp[fastembed]
209
+
201
210
  # 3. Install custom MCP server
202
211
  cd ~/dev/qdrant-mcp-server && pip install -e .
203
212
 
@@ -209,17 +218,19 @@ cd ~/dev/qdrant-mcp-server && pip install -e .
209
218
  # "env": {
210
219
  # "QDRANT_URL": "http://localhost:6333",
211
220
  # "COLLECTION_NAME": "ima-knowledge",
221
+ # "EMBEDDING_PROVIDER": "ollama",
212
222
  # "OLLAMA_URL": "http://localhost:11434",
213
223
  # "EMBEDDING_MODEL": "nomic-embed-text"
214
224
  # }
215
225
  # }
226
+ # For fastembed, set EMBEDDING_PROVIDER=fastembed (OLLAMA_URL not needed)
216
227
 
217
228
  # 5. Verify
218
229
  curl http://localhost:6333/health
219
230
  ```
220
231
 
221
232
  **Persistence**: `-v qdrant_storage:/qdrant/storage` preserves data across restarts.
222
- **Embeddings**: Ollama with `nomic-embed-text` (768d). All data stays on your machine.
233
+ **Embeddings**: Ollama with `nomic-embed-text` (768d) or fastembed with `bge-small-en-v1.5` (384d). All data stays on your machine.
223
234
 
224
235
  ### Per-Project Setup
225
236