sweaConnector
Connects Claude to a private algorithm study repository, enabling it to list problems, manage progress notes, and adjust study schedules through MCP tools.
README
sweaConnector
자기 알고리즘 학습 저장소를 Claude에 연결하고, 읽기 전용 안드로이드 뷰어로 굽는 도구.
Claude가 당신의 학습 저장소를 직접 읽고 씁니다 — 다음에 풀 문제를 골라 주고, 일정을 조정하고, 풀이 노트를 기록합니다. 그 결과는 폴더블에 맞춘 전자책 형태의 앱으로 언제든 꺼내 볼 수 있습니다.
┌──────────────┐ MCP ┌──────────────┐ 빌드 시 주입 ┌──────────────┐
│ 당신의 학습 │ ───────► │ Claude │ │ 안드로이드 │
│ 저장소 │ ◄─────── │ │ │ 뷰어 (APK) │
│ (private) │ 기록 └──────────────┘ └──────────────┘
└──────────────┘ ▲
└─────────────────────────────────────────────────────────┘
이 저장소에 없는 것
문제 본문도, 문제 번호도, 풀이 코드도 여기에 없습니다. 전부 당신의 private 저장소에만 있습니다.
많은 알고리즘 학습 플랫폼이 문제와 풀이의 공개·공유를 약관으로 금지합니다.
그래서 sweaConnector는 의도적으로 빈 그릇입니다 — 도구·규약·일반 CS 개념 설명만 담고,
내용은 빌드할 때 당신의 저장소에서 주입됩니다. fixtures/ 의 예제 문제는 전부 가상입니다.
구성
| 디렉터리 | 역할 |
|---|---|
schema/ |
학습 저장소 규약 — STUDY_REPO.md |
pipeline/ |
학습 저장소 → content.json → 앱 리소스 |
mcp/ |
MCP 서버 — Claude가 저장소를 읽고 기록하는 창구 |
app/ |
안드로이드 뷰어 (Kotlin · Compose) |
content/ |
개념 사전 + SVG 도식 (일반 CS 지식) |
fixtures/ |
가상 학습 저장소 (테스트용) |
시작하기
git clone https://github.com/rleaderjoon/sweaConnector
cd sweaConnector
npm install
npm test # 13개 자체 검증 (MCP 핸드셰이크 포함)
# 1. 내 저장소가 규약에 맞는지 확인
node pipeline/extract.mjs --repo /path/to/my-study-repo --out content.json
# 2. 일정 설정 — 내 학습 저장소 루트에 .sweaconnector.json
echo '{"startDate":"2026-08-15","examDate":"2026-09-19"}' > /path/to/my-study-repo/.sweaconnector.json
# 3. Claude 에 붙이기
claude mcp add swea -- node ./mcp/index.mjs --repo /path/to/my-study-repo
# 4. 내 APK 굽기 — 콘텐츠 추출부터 서명까지 한 번에
bash pipeline/build-apk.sh /path/to/my-study-repo release
APK 는 app/reader/build/outputs/apk/release/ 에 나옵니다. GitHub Actions 에 맡기려면
.github/workflows/apk.yml 을 수동 실행하세요 (공개 저장소이므로 데모 콘텐츠로 굽습니다).
폰에 설치하기
- APK 를 자기 private 저장소의 Release 에 올린다 —
gh release create v0.1.0 <apk> -R <owner>/<repo> - 폰 브라우저에서 그 Release 를 열어 APK 를 내려받는다 (GitHub 로그인 상태여야 한다)
- "출처를 알 수 없는 앱" 설치를 브라우저에 한 번 허용한다
공개 저장소에 자기 APK 를 올리지 마세요 — APK 안에 문제와 풀이가 들어 있습니다.
화면
| 상태 | 폭 | 배치 |
|---|---|---|
| 접음 (커버) | ~344dp | 한 페이지 — 목록, 누르면 본문으로 교체 |
| 펼침 세로 | 673~790dp | 책 펼친 면 — 좌 목차 / 우 본문 |
| 펼침 가로 | ~930dp | 같은 2단, 본문이 더 넓다 |
접었다 펼치면 읽던 위치가 유지됩니다 (configChanges 로 액티비티가 재생성되지 않습니다).
MCP 툴
| 툴 | 하는 일 |
|---|---|
list_problems |
문제 목록 — status / week / type / topic / query 로 걸러서 |
get_problem |
문제 하나의 노트 전문 + 풀이 코드 |
record_progress |
NOTES.md 프론트매터에 상태·시도횟수·소요시간 기록 (본문 불변) |
append_note |
특정 섹션 끝에 내용 덧붙이기 |
schedule_status |
계획 대비 실제 + 남은 문제 재배치안 |
schedule_status 는 계획서를 읽어 주는 도구가 아니라 계획이 이미 어긋났다는 전제로 고쳐 주는 도구입니다.
slackDays 를 먼저 보세요 — 응시일까지 남은 여유 일수이고, 음수면 페이스를 올려야 합니다.
요구 사항
- Node 20+
- JDK 17+ · Android SDK (platform 35) — 로컬 빌드할 때만. Actions 로 빌드하면 불필요.
설계 원칙
- 읽기 전용 뷰어. 앱에서 편집하지 않습니다. 쓰기는 Claude(MCP)를 통해 저장소로 갑니다.
- 런타임 네트워크 없음. 콘텐츠는 빌드 시점에 APK에 구워집니다. 눌렀을 때 파싱할 것이 없어야 즉시 뜹니다.
- 폴더블 우선. 접으면 한 페이지, 펼치면 펼친 면. 세로·가로 모두.
- 도식은 벡터. 알고리즘 도식은 손으로 쓴 SVG → VectorDrawable. AI 생성 이미지는 그럴싸하게 틀립니다.
라이선스
MIT (도구·개념 설명에 한함). 당신이 주입하는 내용의 권리·약관 준수는 당신 책임입니다.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。