HivePaaS
Docker Swarm 기반 오픈소스 자체 호스팅 PaaS, SSL·백업·자동 확장 지원
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기MCP server for Jinshuju (金数据) forms, tables and entries, generated from the Open API v1 openapi.yaml.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗The MCP server for Jinshuju (jinshuju.net): lets Claude, Cursor, Claude Code and other MCP-capable AI tools read and write forms, tables and entries. The tools are generated from the open API v1 openapi.yaml and stay in step with the API.
Two ways to use it:
https://jinshuju.net/mcp, with OAuth sign-in; for claude.ai, Claude Code, Cursor, Windsurf and the like;npx -y @jinshuju/mcp with an access token; for clients that only run local servers.Server URL: https://jinshuju.net/mcp
| Client | Setup |
|---|---|
| claude.ai | Settings → Connectors → Add custom connector, enter the server URL, sign in to Jinshuju |
| Claude Code | claude mcp add jinshuju -s user --transport http https://jinshuju.net/mcp, then run /mcp in Claude Code and sign in to Jinshuju there |
| Cursor | { "mcpServers": { "jinshuju": { "url": "https://jinshuju.net/mcp" } } } |
| Windsurf | Same as above, with the key serverUrl |
Without OAuth (CI, scripts), send an access token directly: --header "Authorization: Bearer YOUR_ACCESS_TOKEN", or add headers to the config.
Create a personal access token under Profile → API, and an account access token under System settings → Account API.
Pass an access token (created as above) in JINSHUJU_ACCESS_TOKEN:
# Claude Code
claude mcp add jinshuju -s user -e JINSHUJU_ACCESS_TOKEN=your_token -- npx -y @jinshuju/mcp
Other clients:
{
"mcpServers": {
"jinshuju": {
"command": "npx",
"args": ["-y", "@jinshuju/mcp"],
"env": { "JINSHUJU_ACCESS_TOKEN": "your_token" }
}
}
}
To check it works, ask the assistant to "list my Jinshuju forms".
Each tool maps to one operation in openapi.yaml; a few combine two operations:
| Category | Tools |
|---|---|
| Forms | list_forms, get_form, create_form, edit_form, copy_form, delete_form, move_form, list_form_cooperators, get_field_rules, edit_field_rules, check_field_data, preview_field_type_change, edit_theme |
| Exams / evaluations | create_exam_form, edit_exam_form, create_evaluation_form, edit_evaluation_form (create / edit the form + its scene settings, two requests) |
| Entries | list_entries, get_entry, create_entry, update_entry, delete_entry, create_entries, patch_entries, count_entries, aggregate_entries, get_form_data_summary, search_entries_in_forms, list_form_entry_stats, import_entries_from_file |
| What I submitted | list_my_submitted_forms, list_my_submitted_entries, search_my_submitted_entries |
| Comments | list_entry_comments, create_entry_comment, update_entry_comment, delete_entry_comment |
| Views | list_form_views, get_form_view, create_form_view, edit_form_view, delete_form_view, list_form_view_entries |
| Tables | list_tables, get_table, create_table, edit_table, move_table |
| Public queries | list_opensearch_queries, get_opensearch_query, create_opensearch_query, edit_opensearch_query, get_opensearch_field_suggestions |
| Folders / account | list_folders, create_folder, get_current_user, get_current_billing_account, list_account_users, get_merchant |
| Uploads | prepare_entry_attachment_upload, prepare_form_image_upload, prepare_import_file_upload, upload_entry_attachment, upload_form_image, upload_import_file |
| Schemas | get_schema (reads an openapi schema by name, e.g. FieldInput, TextFieldInput) |
The full tool → operation mapping is in mcp.overlay.yaml and src/generated/meta.json.
Uploads. A file on disk goes through prepare_*_upload, which returns a one-time upload_url (valid 30 minutes);
the client posts the file to it itself (curl -F file=@<path> <upload_url>), so its bytes never pass through the model, then uses the returned attachment_id.
That needs a client with a shell that can reach jinshuju.net, such as Claude Code, Cursor or Codex.
upload_* carry the file as Base64 inside the tool call, which only suits small content the model has in hand.
Size. The full tools/list is about 39k tokens (o200k estimate; about 36k without outputSchema).
It stays that size by not inlining large schemas: field definitions (52 types), form settings, themes and the like become a one-line pointer; unions that branch on type, such as table columns, keep only their common properties.
The model reads them on demand with get_schema("FieldInput") / get_schema("TextFieldInput").
| Variable | Meaning |
|---|---|
JINSHUJU_ACCESS_TOKEN | Access token (personal or account) |
JINSHUJU_API_BASE_URL | API URL, default https://jinshuju.net/api/v1 |
JINSHUJU_MCP_MAX_RESULT_CHARS | Maximum characters of one result, default 120000; longer results are truncated with a hint to page |
Building, running and deploying the server: DEVELOPMENT.md. How it fits together: ARCHITECTURE.md.
Apache-2.0