# Reported issues for misakanet

Pod holds 23 of 100 problems reported by people outside the maintainer team. Issues filed by the project's own owners, members and collaborators are excluded entirely — a maintainer's release checklist is not a warning to a prospective user.

Back to [misakanet](/mcp/misakanet).

## Most discussed

### [P0][MCP] Add public MCP smoke report for Glama users

## Goal

Prove the MCP server works. Glama visitors need evidence.

## Deliverable

`docs/integrations/mcp-smoke-report.md`

## Content

- Test date
- Test version: v2.14.0
- Test method: local stdio, Docker/GHCR, Claude Desktop or Cursor
- Successful calls: misakanet_search, misakanet_usage_status
- Common failures: path wrong, Python not found, missing index, client not restarted

## Acceptance

- [ ] Smoke report exists with date and version
- [ ] At least 2 tools verified working
- [ ] Commo

[Read the thread](https://github.com/Ikalus1988/MisakaNet/issues/761) · 2026-08-02 · closed · 237 comments

### [Search][Bounty] Add search result quality feedback loop to search_knowledge.py

## Goal

Add a feedback mechanism to `search_knowledge.py` so users/agents can report whether search results were useful.

## Deliverable

- Add `--feedback` flag to `search_knowledge.py`
- After displaying results, prompt: "Was this helpful? (y/n/comment)"
- Log feedback to `data/search-feedback.jsonl` with: query, results shown, feedback, timestamp
- No external dependencies

## Acceptance Criteria

- [ ] `python3 search_knowledge.py "pip timeout" --feedback` works
- [ ] Feedback logged to `da

[Read the thread](https://github.com/Ikalus1988/MisakaNet/issues/604) · 2026-07-27 · closed · 136 comments

### [MCP][UX] Validate remote MCP first-call user journey

## 背景

MisakaNet remote MCP endpoint 已上线（#804），但还没有验证过真实用户从「看到链接」到「完成第一次 tools/call」的完整旅程是否顺畅。

#818 衡量传播效果（有没有帖子、互动是否自然），本 issue 衡量转化效果（用户能不能顺利用起来）。

## 验收标准

### 完整旅程测试

从以下任意入口开始：

- [ ] #818 社媒帖子中的链接
- [ ] Glama listing 页面
- [ ] GitHub README
- [ ] 直接访问 `https://misakanet.org/mcp`

### 每个步骤验证

| 步骤 | 验证点 | 卡点记录 |
|------|--------|---------|
| 1. 发现端点 | 找到 `https://misakanet.org/mcp` | 文档是否清晰？ |
| 2. 理解认证 | 知道需要 Bearer token | token 如何获取？是否说明清楚？ |
| 3. 配置客户端 | Claude / Cursor / curl 至少一种 | 配置

[Read the thread](https://github.com/Ikalus1988/MisakaNet/issues/830) · 2026-08-06 · closed · 10 comments

### [agent competition][zero-bounty] Add smoke test for queue_lesson.py --dry-run

## agent competition — zero-bounty

No monetary bounty. Merge earns credit.

## Task

Add one smoke test that verifies `queue_lesson.py --dry-run` works correctly.

## File to create or modify

`tests/test_queue_lesson_dry_run.py`

## What to test

- `--dry-run` prints lesson preview without creating files
- `--suggest-git` prints suggested git commands
- Output contains frontmatter with title, domain, tags
- No files created on disk after dry-run

## Acceptance Criteria

- [ ] Test file exists

[Read the thread](https://github.com/Ikalus1988/MisakaNet/issues/416) · 2026-07-08 · closed · 8 comments

### 🧠 MisakaNet MCP Server — Live Demo & Tool Discovery

## MisakaNet MCP Server is Live

**Remote endpoint:** `https://misakanet.org/mcp`
**Smithery:** [smithery.ai/servers/misakanet/misakanet](https://smithery.ai/servers/misakanet/misakanet)
**PyPI:** `pip install misakanet`

---

### Available MCP Tools

| Tool | Description | Auth |
|------|-------------|------|
| `misakanet_search` | Search 385+ failure lessons by error text | Token required |
| `misakanet_get_lesson` | Fetch full lesson content by ID | Token required |
| `misakanet_register` | G

[Read the thread](https://github.com/Ikalus1988/MisakaNet/issues/1292) · 2026-08-24 · closed · 7 comments

### [Ecosystem] Add MCP protocol extension for lesson metadata

## Task
Extend the existing MCP server with lesson metadata capabilities.

## Acceptance Criteria
- [ ] MCP resource: misakanet://lessons/{id} returns full lesson
- [ ] MCP tool: search_lessons(query, domain, tags) returns results
- [ ] MCP resource: misakanet://domains returns domain list
- [ ] Compatible with Claude Code, Cursor, Continue.dev
- [ ] Documentation in docs/mcp-protocol.md

## Why it matters
MCP is the standard for AI tool integration. Rich metadata = better agent decisions.

## D

[Read the thread](https://github.com/Ikalus1988/MisakaNet/issues/319) · 2026-07-02 · closed · 7 comments

### [Trust] Add trigger metadata for proactive lesson retrieval

## Context

MisakaNet 的 lesson 目前只有 tags（全文搜索关键词），没有结构化的触发器。这意味着 preflight guard 只能靠关键词匹配 intent 文本，无法精准匹配 "什么动作 + 什么环境 = 查什么 lesson"。

## Goal

给 lesson schema 加 `triggers` 字段，让 preflight tool 能基于结构化触发器精准检索，而不是纯文本匹配。

## Design

### Lesson schema 新增 `triggers` 字段

```json
{
  "title": "RAG Build Memory Safety",
  "domain": "rag",
  "tags": ["rag", "memory", "wsl"],
  "triggers": {
    "intents": ["rag_build", "embedding", "vector_index"],
    "commands": ["build_index", "chroma", "faiss", "embe

[Read the thread](https://github.com/Ikalus1988/MisakaNet/issues/1057) · 2026-08-15 · closed · 6 comments

### [Ecosystem] Build Cursor integration for MisakaNet lessons

## Task
Create a Cursor rule or plugin that searches MisakaNet for relevant lessons.

## Acceptance Criteria
- [ ] .cursorrules file that instructs Cursor to search MisakaNet
- [ ] MCP server for Cursor to query lessons
- [ ] Auto-suggest relevant lessons when debugging
- [ ] Documentation: setup guide in docs/integrations/

## Why it matters
Cursor is the most popular AI coding tool. Integration = more lesson discovery.

## Difficulty
🔴 Ring-3 — MCP + editor integration.
<br/>
<hr/>

<details><

[Read the thread](https://github.com/Ikalus1988/MisakaNet/issues/318) · 2026-07-02 · closed · 6 comments

## Most recent

### [E2E] Test intake pipeline: trigger → parse → classify → draft → persist → notify

## Background

PRD ③ implemented a CI-driven intake pipeline with 7 steps:
1. trigger → 2. parse → 3. classify → 4. draft → 5. precheck → 6. persist (D1) → 7. notify (issue) + backfill

The pipeline is implemented in `scripts/intake_pipeline.py` and tested via `.github/workflows/intake-pipeline-test.yml`.

## Goal

**E2E test the full intake pipeline** to verify all 7 steps work correctly.

## Test Steps

### Step 1: Trigger Pipeline

```bash
# Via CI workflow (recommended)
gh workflow run intak

[Read the thread](https://github.com/Ikalus1988/MisakaNet/issues/1369) · 2026-08-28 · closed · 2 comments

### [Test] Verify 'question' kind in misakanet_submit_intake

## Background

`misakanet_submit_intake` now supports `kind="question"` (commit 83b5a562). This allows users to ask questions that may not require a full lesson — maintainer can answer directly or create a lesson.

## Goal

Test the new `question` kind to verify it works correctly.

## Test Cases

### 1. Submit a Question

```bash
curl -X POST https://misakanet.org/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {

[Read the thread](https://github.com/Ikalus1988/MisakaNet/issues/1363) · 2026-08-28 · closed · 3 comments

### [E2E] Test no-match feedback loop: search → suggestion → intake → lesson

## Background

PRD ① implemented "no-match intake guidance" — when `misakanet_search` returns no results, it returns:
- `no_match: true`
- `suggestion` text guiding to call `misakanet_submit_intake`
- `intake.tool` and `intake.args` template for easy continuation

This creates a feedback loop: search failure → knowledge gap reported → maintainer creates lesson.

## Goal

**Test the complete no-match → question → lesson pipeline** to verify the feedback loop works.

## Test Steps

### Step 1: Sea

[Read the thread](https://github.com/Ikalus1988/MisakaNet/issues/1360) · 2026-08-28 · closed · 4 comments

### [E2E] Test lesson write pipeline: MCP submit → issue → lesson → search

## Background

MisakaNet MCP has `misakanet_submit_intake` for submitting lessons, but there's no end-to-end test verifying the full workflow:
1. Agent calls `misakanet_submit_intake` with a failure scenario
2. Issue is created with correct labels (`intake`, `mcp-intake`, `pending-review`)
3. Maintainer reviews and converts to lesson
4. Lesson appears in search results

## Goal

Create an **E2E test guide** and verify the complete lesson write → review → publish pipeline.

## Test Steps

### Ste

[Read the thread](https://github.com/Ikalus1988/MisakaNet/issues/1359) · 2026-08-28 · closed · 3 comments

### [Test] Anonymous read quota verification — crawlers welcome

## Purpose

Verify the anonymous read quota system (PRD ④, commit e0b03d46) is working in production.

## What to test

1. **Anonymous search**: Call `misakanet_search` WITHOUT auth header
   - Should return results (not 401)
   - First 5 calls/day/IP should succeed
   - 6th call should return rate limit error

2. **Anonymous get_lesson**: Call `misakanet_get_lesson` WITHOUT auth
   - Should return lesson content (not 401)
   - Shares quota with search (combined 5/day/IP)

3. **Quota message**: 

[Read the thread](https://github.com/Ikalus1988/MisakaNet/issues/1355) · 2026-08-28 · closed · 2 comments

### [Lesson] MCP 端点 404 双重根因排查：zone 路由指向无实现的 worker + 线上代码过期

**Kind:** lesson_submission
**Source:** dsh
**Domain:** devops
**Title:** MCP 端点 404 双重根因排查：zone 路由指向无实现的 worker + 线上代码过期
## Problem
POST https://misakanet.org/mcp 返回 404 {"error":"Not found"}，但 GET /mcp 却返回 worker 的 HTML 说明页，症状矛盾；同时 /api/lessons 返回 502 GitHub API 401 而 /api/counter 正常。
## Root Cause
1) zone workers routes 里 misakanet.org/mcp 与 /mcp/* 指向 misakanet-api，而该 worker 没有 MCP 实现（POST /mcp 落到其 404 分支）；GET /mcp 的 HTML 来自 misakanet-api 对 register-proxy 页面的转发，造成症状矛盾；2) 线上 misakanet-register

[Read the thread](https://github.com/Ikalus1988/MisakaNet/issues/1307) · 2026-08-25 · closed · 3 comments

### [Lesson] mcporter 多 MCP 服务器 OAuth 授权必须串行：并发导致 client_id/state 错乱与 Invalid client_id

**Kind:** lesson_submission
**Source:** dsh
**Domain:** devops
**Title:** mcporter 多 MCP 服务器 OAuth 授权必须串行：并发导致 client_id/state 错乱与 Invalid client_id
## Problem
并行运行多个 mcporter auth（如 cloudflare-bindings/builds/observability 三个后台 job 同时授权）时，浏览器授权页报 invalid_request Invalid client_id；且多个授权 URL 的 state 参数完全相同（正常应每次随机），client_id 也相同且无效，授权全部失败。
## Root Cause
mcporter 的 OAuth 状态全部落在共享单文件：vault（~/.mcporter/credentials.json）与 token 缓存目录（state.txt / code_verifier.txt / tokens.json）。多个 auth 进程并发读写同一文件，互相覆盖

[Read the thread](https://github.com/Ikalus1988/MisakaNet/issues/1306) · 2026-08-25 · closed · 3 comments

### [Lesson] Cloudflare Worker 程序化部署三重坑：execute 沙箱出站白名单、32KB 参数限制、multipart 模块 Content-Type

**Kind:** lesson_submission
**Source:** dsh
**Domain:** devops
**Title:** Cloudflare Worker 程序化部署三重坑：execute 沙箱出站白名单、32KB 参数限制、multipart 模块 Content-Type
## Problem
通过 Cloudflare MCP execute 部署大型模块化 Worker 时遇到三重限制：1) execute 沙箱 fetch raw.githubusercontent.com / api.github.com 均返回 403 Forbidden（仅允许 Cloudflare 内部域名）；2) bash/execve 单参数最大 32KB（MAX_ARG_STRLEN），93KB 代码直接内嵌报 Argument list too long；3) multipart 上传模块时 Content-Type 用 application/javascript 导致 Cloudflare 按 classic script 解析，import 的模块 expor

[Read the thread](https://github.com/Ikalus1988/MisakaNet/issues/1305) · 2026-08-25 · closed · 3 comments

### [Intake] Redaction probe: [REDACTED:github_token] and [REDACTED:api_key] and [REDACTED:cr

**Kind:** missing_lesson
**Source:** dsh
**Dedup:** `01879617-0fb`

## Problem
Redaction probe: [REDACTED:github_token] and [REDACTED:api_key] and [REDACTED:credential]

## Error
[REDACTED:bearer_token] with https://[REDACTED:url_credential]@host and card [REDACTED:card_number]

## What was tried
retried with [REDACTED:github_token]

## Fix (if known)
rotate [REDACTED:api_key]

---
_Submitted via remote MCP (dsh). No account required._
<br/>
<hr/>

<details><summary>This repo is using Opire - wh

[Read the thread](https://github.com/Ikalus1988/MisakaNet/issues/1304) · 2026-08-25 · closed · 3 comments

### [Intake] Redaction probe: [REDACTED:github_token] and [REDACTED:api_key] and [REDACTED:cr

**Kind:** missing_lesson
**Source:** dsh
**Dedup:** `1a938e5a-9f1`

## Problem
Redaction probe: [REDACTED:github_token] and [REDACTED:api_key] and [REDACTED:credential]

## Error
[REDACTED:bearer_token] with https://[REDACTED:url_credential]@host and card [REDACTED:card_number]

## What was tried
retried with [REDACTED:github_token]

## Fix (if known)
rotate [REDACTED:api_key]

---
_Submitted via remote MCP (dsh). No account required._
<br/>
<hr/>

<details><summary>This repo is using Opire - wh

[Read the thread](https://github.com/Ikalus1988/MisakaNet/issues/1303) · 2026-08-25 · closed · 2 comments

### [Intake] MCP tools full test - verify intake endpoint works via HTTP

**Kind:** missing_lesson
**Source:** dsh
**Dedup:** `acfb6fad-8ca`

## Problem
MCP tools full test - verify intake endpoint works via HTTP

## Error
none

---
_Submitted via remote MCP (dsh). No account required._
<br/>
<hr/>

<details><summary>This repo is using Opire - what does it mean? 👇</summary><br/>💵 Everyone can add rewards for this issue commenting <code>/reward 100</code> (replace <code>100</code> with the amount).<br/>🕵️‍♂️ If someone starts working on this issue to earn the rewards, 

[Read the thread](https://github.com/Ikalus1988/MisakaNet/issues/1301) · 2026-08-25 · closed · 3 comments

### [Intake] Python asyncio task exception handler silently swallows CancelledError when task

**Kind:** missing_lesson
**Source:** mcp-http-test
**Dedup:** `8bbf2fe94bf9`

## Problem
Python asyncio task exception handler silently swallows CancelledError when task is cancelled during await, leading to resource leaks in long-running services

## Error
Task was destroyed but it is pending! task: <Task pending name=Task-42 coro=<fetch_data() running at /app/service.py:123>>

## What was tried
1. Added try/except around await 2. Used asyncio.shield() 3. Added task done callback

## Fix (if kn

[Read the thread](https://github.com/Ikalus1988/MisakaNet/issues/1298) · 2026-08-25 · closed · outside contributor · 4 comments

### Audit installs optional search engines but fallback tests patch stale compatibility state

## Problem

The full PR auditor installs `requirements.txt` plus nested optional requirements, which makes the BM25 search backend importable. Seven MCP tests then fail even for README-only PRs.

The fallback fixture patches `scripts.mcp_server.HAS_SAG` / `HAS_BM25`, but `handle_search` now reads the lazy `_SEARCH_STATE` owned by `misakanet.server.handlers.search`, so those compatibility-layer variables no longer control the handler. The same tests expect `path` and `domain` from the default com

[Read the thread](https://github.com/Ikalus1988/MisakaNet/issues/1290) · 2026-08-24 · closed · outside contributor · 2 comments

### [MCP] Fix KV token verification for write_lesson

## Problem

Remote MCP token verification fails for `misakanet_write_lesson`. Registration succeeds and stores token in KV, but subsequent authenticated calls return `Unauthorized`.

**Root cause**: KV lookup fails during token verification, even though KV binding is configured and data exists.

## Current state

| Tool | Auth requirement | Status |
|---|---|---|
| `misakanet_register` | None | ✅ |
| `misakanet_search` | None (rate-limited) | ✅ |
| `misakanet_get_lesson` | None (rate-limited) | 

[Read the thread](https://github.com/Ikalus1988/MisakaNet/issues/1240) · 2026-08-22 · closed · 5 comments

### [MCP] Return 'tool not found' for unknown tools instead of Unauthorized

## Problem

When a client calls a tool that doesn't exist on the remote MCP Worker, it returns `Unauthorized` (401) instead of a clear error message.

Example: calling `misakanet_preflight` on the remote endpoint returns:
```json
{"error":{"code":-32000,"message":"Unauthorized"}}
```

Expected:
```json
{"error":{"code":-32601,"message":"Tool not found: misakanet_preflight","available_tools":["misakanet_register","misakanet_search","misakanet_get_lesson","misakanet_submit_intake"]}}
```

## Fix

[Read the thread](https://github.com/Ikalus1988/MisakaNet/issues/1226) · 2026-08-22 · closed · 0 comments

The remaining reports are on [the project's issue tracker](https://github.com/Ikalus1988/MisakaNet/issues).
