npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

novel-mart-mcp

v1.3.1

Published

Novel Mart MCP Server - AI로 작성한 소설을 Novel Mart에 업로드

Readme

Novel Mart MCP Server

AI로 작성한 소설을 Novel Mart에 업로드하는 MCP 서버입니다.

💡 TIP: MCP를 설치하지 않아도 Cursor/VSCode의 AI Chat에서 바로 명령어를 던져 사용할 수 있습니다!


📋 목차

  1. 빠른 시작 (설치 없이 사용)
  2. PAT 토큰 발급
  3. Cursor IDE 설정
  4. VSCode 설정
  5. Claude Desktop 설정
  6. 사용 방법
  7. 고급 기능
  8. 트러블슈팅

🚀 빠른 시작 (설치 없이 사용)

Cursor나 VSCode에서 별도 설치 없이 바로 사용하는 방법입니다.

1단계: PAT 토큰 발급

  1. 웹사이트 접속: https://proposal-mart.vercel.app
  2. 로그인: Google 또는 Kakao 계정으로 로그인
  3. 토큰 발급:
    • 우측 상단 프로필 클릭 → Settings 선택
    • 왼쪽 메뉴에서 API 토큰 선택
    • 새 토큰 생성 버튼 클릭
    • 토큰 이름 입력 (예: "Cursor AI", "VSCode MCP")
    • 생성 버튼 클릭
    • ⚠️ 중요: 생성된 토큰을 복사하여 안전한 곳에 보관 (재확인 불가!)

2단계: Chat에서 바로 명령어 사용

Cursor에서 사용

  1. Cursor 열기 (Cmd+L 또는 Ctrl+L)
  2. 명령어 입력:
노벨마트에 이 소설 업로드해줘

제목: 별빛 아래의 약속
장르: 로맨스
내용:
[여기에 소설 내용 붙여넣기]
  1. AI가 자동으로:
    • Novel Mart API 호출
    • 소설 구조화 및 업로드
    • 결과 URL 제공

VSCode (GitHub Copilot Chat)에서 사용

  1. Copilot Chat 열기 (Cmd+I 또는 Ctrl+I)
  2. 명령어 입력:
@workspace 노벨마트에 소설 올려줘

제목: 판타지 모험기
장르: FANTASY
[소설 내용]

🔑 PAT 토큰 발급

온라인 (프로덕션)

URL: https://proposal-mart.vercel.app

  1. 로그인
  2. SettingsAPI 토큰
  3. 새 토큰 생성
  4. 토큰 복사 (한 번만 표시됨!)

로컬 개발

로컬에서 개발 서버를 실행 중인 경우:

# 프로젝트 디렉토리에서
pnpm dev
  1. 브라우저에서 http://localhost:3010 접속
  2. 로그인
  3. SettingsTokens새 토큰 생성
  4. 토큰 복사

토큰 형식: pat_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx


💻 Cursor IDE 설정

방법 1: GUI 설정 (추천)

  1. Cursor 열기
  2. Settings 열기:
    • Mac: Cmd+,
    • Windows/Linux: Ctrl+,
  3. "MCP" 검색
  4. MCP Settings 편집 클릭
  5. 다음 내용 추가:
{
  "mcpServers": {
    "novel-mart": {
      "command": "npx",
      "args": ["novel-mart-mcp"],
      "env": {
        "NOVEL_MART_TOKEN": "pat_여기에_발급받은_토큰_붙여넣기"
      }
    }
  }
}

💡 참고: Cursor는 "type": "stdio" 없이도 작동합니다. VSCode와 다른 형식입니다!

방법 2: 파일 직접 수정

설정 파일 위치:

  • Mac: ~/.cursor/mcp.json
  • Windows: %APPDATA%\Cursor\mcp.json
  • Linux: ~/.config/Cursor/mcp.json
# Mac/Linux
code ~/.cursor/mcp.json

# Windows (PowerShell)
notepad $env:APPDATA\Cursor\mcp.json

설정 내용:

{
  "mcpServers": {
    "novel-mart": {
      "command": "npx",
      "args": ["novel-mart-mcp"],
      "env": {
        "NOVEL_MART_TOKEN": "pat_84b81048823d1b210242c3b1a0ab44d73a2c061e3f4498831af9659d268a96ea"
      }
    }
  }
}

로컬 개발 서버 연결 (선택)

로컬 서버를 사용하려면 NOVEL_MART_URL 추가:

{
  "mcpServers": {
    "novel-mart": {
      "command": "npx",
      "args": ["novel-mart-mcp"],
      "env": {
        "NOVEL_MART_TOKEN": "pat_your_token",
        "NOVEL_MART_URL": "http://localhost:3010"
      }
    }
  }
}

3. Cursor 재시작

설정 저장 후 Cursor를 완전히 종료하고 다시 실행합니다.


🔧 VSCode 설정

전제 조건

  • Node.js 18 이상 설치 필요
  • GitHub Copilot 확장 설치

설정 파일 생성

프로젝트 루트.vscode/mcp.json 파일 생성:

# 프로젝트 루트에서
mkdir -p .vscode
touch .vscode/mcp.json

내용:

{
  "servers": {
    "novel-mart": {
      "type": "stdio",
      "command": "npx",
      "args": ["novel-mart-mcp"],
      "env": {
        "NOVEL_MART_TOKEN": "pat_여기에_발급받은_토큰_붙여넣기"
      }
    }
  }
}

⚠️ 중요: VSCode에서는 "type": "stdio" 설정이 필수입니다! 이 설정이 없으면 MCP가 작동하지 않습니다.

VSCode 재시작

Cmd+Shift+P (또는 Ctrl+Shift+P) → "Reload Window" 선택


🖥️ Claude Desktop 설정

Mac

설정 파일 위치: ~/Library/Application Support/Claude/claude_desktop_config.json

# 파일 열기
code ~/Library/Application\ Support/Claude/claude_desktop_config.json

Windows

설정 파일 위치: %APPDATA%\Claude\claude_desktop_config.json

# 파일 열기
notepad $env:APPDATA\Claude\claude_desktop_config.json

설정 내용

{
  "mcpServers": {
    "novel-mart": {
      "command": "npx",
      "args": ["novel-mart-mcp"],
      "env": {
        "NOVEL_MART_TOKEN": "pat_your_token_here"
      }
    }
  }
}

Claude Desktop 재시작

설정 저장 후 Claude Desktop을 완전히 종료하고 다시 실행합니다.


📝 사용 방법

기본 명령어

Novel Mart MCP는 자연어 명령으로 작동합니다. 다음 키워드를 포함하면 자동 인식됩니다:

트리거 키워드:

  • 한글: 노벨마트, 소설마트, Novel Mart
  • 영문: novelmart, NovelMart
  • 약어: NM

1️⃣ 소설 업로드

새 소설 생성

노벨마트에 이 소설 올려줘

제목: 마법사의 모험
장르: FANTASY
설명: 평범한 소년이 마법사가 되는 이야기

제1장: 시작
[내용...]

제2장: 여정
[내용...]

AI가 자동으로:

  • 제목, 장르 인식
  • 장 구조 파싱
  • Novel Mart에 업로드
  • 결과 URL 제공

마크다운 파일에서 업로드

노벨마트에 novel.md 파일을 판타지 소설로 올려줘

AI가 파일을 읽고 자동으로 소설로 변환하여 업로드합니다.

2️⃣ 기존 소설에 장 추가

노벨마트 "마법사의 모험"에 3장 추가해줘

제3장: 전투
[내용...]

3️⃣ 내 소설 목록 보기

노벨마트 내 소설 목록 보여줘

출력 예시:

📚 내 소설 목록 (3개)

1. **마법사의 모험**
   상태: DRAFT | 5화 | 12,345자
   조회: 0 | 좋아요: 0
   ID: cmkdjdtu40000cjq66yqt0sbs
   https://proposal-mart.vercel.app/novel/cmkdjdtu40000...

2. **별빛 아래의 약속**
   ...

4️⃣ 포인트 확인

노벨마트 포인트 얼마야?

또는

NM 내 포인트 확인해줘

출력:

💰 포인트 잔액: 1,035P
👤 사용자: Mike Choi

💡 포인트는 Proposal Mart와 공유됩니다.

5️⃣ 소설 검색

노벨마트에서 "판타지" 검색해줘

내 서재에서 제목에 "판타지"가 포함된 소설을 검색합니다.


🎯 고급 기능

novelmart_write (스마트 업로드)

제목 기반으로 자동으로 소설을 찾아 처리하는 고급 기능입니다.

동작 방식

  1. 제목으로 검색:
    • 내 서재(DRAFT)에서 동일 제목 검색
  2. 결과에 따른 동작:
    • 0개: 새 소설 생성 + 제1장 추가
    • 1개: 해당 소설에 새 장 추가
    • 2개 이상: 목록 표시 (novelId 선택 요청)

사용 예시

노벨마트에 "내 소설" 제목으로 이 내용 저장해줘

[소설 내용]

첫 실행 시 → 새 소설 생성
두 번째 실행 시 → 기존 소설에 장 추가

특정 장 번호 지정

노벨마트 "내 소설" 2장에 이 내용으로 업데이트해줘

[새 내용]

→ 2장의 내용이 새 내용으로 교체됩니다.

🔄 기존 소설 수정 워크플로우 ⭐ 중요!

소설을 한 번 올린 후 수정하고 싶을 때 사용하는 패턴입니다.

트리거 키워드: "수정해줘", "고쳐줘", "업데이트해줘", "변경해줘"

전체 수정 (모든 장 업데이트)

"수정해줘"만 요청하면, 제목이 같은 소설을 찾아 1장부터 모든 장을 순차적으로 업데이트합니다.

노벨마트 "나의 소설" 수정해줘

[수정된 1장 내용]
---
[수정된 2장 내용]
---
[새로운 3장 내용 - 기존에 없던 장]

LLM 동작 방식:

1회: novelmart_write(title="나의 소설", chapterNumber=1, content="수정된 1장")
2회: novelmart_write(title="나의 소설", chapterNumber=2, content="수정된 2장")
3회: novelmart_write(title="나의 소설", content="새로운 3장")  ← 자동으로 다음 번호 할당
특정 장만 수정

"N장만 수정해줘"라고 요청하면 해당 장만 업데이트하고 다른 장은 그대로 유지합니다.

노벨마트 "나의 소설" 3장만 수정해줘

[수정된 3장 내용]

LLM 동작 방식:

1회: novelmart_write(title="나의 소설", chapterNumber=3, content="수정된 3장")
→ 1장, 2장은 그대로 유지

장르 코드

| 코드 | 설명 | 예시 | |------|------|------| | ROMANCE | 로맨스 | 연애, 사랑 이야기 | | FANTASY | 판타지 | 마법, 이세계 | | SF | SF | 우주, 미래 | | MYSTERY | 미스터리 | 추리, 탐정 | | THRILLER | 스릴러 | 긴장감, 서스펜스 | | DRAMA | 드라마 | 일상, 성장 | | COMEDY | 코미디 | 유머, 웃음 | | OTHER | 기타 | 분류하기 어려운 장르 | | NONE | 미선택 | 장르 미지정 |

환경 변수

| 변수 | 필수 | 기본값 | 설명 | |------|------|--------|------| | NOVEL_MART_TOKEN | ✅ | - | Personal Access Token | | NOVEL_MART_URL | ❌ | https://proposal-mart.vercel.app | API 기본 URL |

로컬 개발 시:

{
  "env": {
    "NOVEL_MART_TOKEN": "pat_xxx",
    "NOVEL_MART_URL": "http://localhost:3010"
  }
}

⚠️ 제한사항

대량 업로드 제한 ⭐ 중요!

  • novelmart_upload: 최대 1장까지만 업로드 가능
  • 2장 이상: novelmart_write를 사용하여 한 장씩 추가

이유: LLM이 여러 장을 한 번에 처리하면 컨텍스트 제한 초과 및 에러 발생

올바른 워크플로우:

5장짜리 소설 업로드 방법:

Step 1: novelmart_upload로 제목 + 1장
Step 2: novelmart_write로 2장 추가
Step 3: novelmart_write로 3장 추가
Step 4: novelmart_write로 4장 추가
Step 5: novelmart_write로 5장 추가

장당 글자 수

  • 최대: 20,000자
  • 권장: 5,000~10,000자 (가독성)

장당 글자 수가 너무 많으면 읽기 힘들 수 있으니, 적절히 나누는 것을 권장합니다.

수정 제한

  • DRAFT (초안): ✅ 언제든 수정 가능
  • PUBLIC (공개): ❌ 수정 불가
  • PAID (유료): ❌ 수정 불가

발행 후에는 수정할 수 없으니, 충분히 검토 후 발행하세요!

성인 콘텐츠

19세 이상 콘텐츠는 반드시 isAdult: true 태그를 설정해야 합니다:

노벨마트에 성인 소설 올려줘 (19+)

제목: ...

💰 포인트 시스템

공유 포인트

Novel Mart와 Proposal Mart는 같은 PMPoint를 사용합니다.

Proposal Mart ←→ PMPoint ←→ Novel Mart
    (공유)           (공유)

포인트 사용

| 작업 | 비용 | |------|------| | 소설 업로드 | 무료 | | 소설 열람 (PUBLIC) | 무료 | | 소설 구매 (PAID) | 작가가 설정한 가격 |

포인트 획득

| 방법 | 보상 | |------|------| | 회원가입 | +1,000P | | 출석 체크 | +50P/일 (7일 연속 보너스) | | 광고 시청 | +10P/회 (하루 10회) | | 미니게임 | 5~20P (하루 5회) | | 소설 판매 | 판매가의 50% | | 프로포잘 판매 | 판매가의 50% |


🐛 트러블슈팅

1. "Unauthorized" 오류

증상:

❌ 오류: 인증 실패: 토큰이 만료되었거나 유효하지 않습니다.

해결 방법:

  1. 토큰 확인:
    • https://proposal-mart.vercel.app
    • Settings → API 토큰
    • 토큰 목록에서 "마지막 사용" 확인
  2. 새 토큰 발급:
    • 기존 토큰 삭제
    • 새 토큰 생성
    • 설정 파일에 새 토큰 입력
  3. IDE 재시작:
    • Cursor/VSCode 완전 종료 후 재실행

2. MCP 서버가 인식되지 않음

증상:

  • 명령어 입력 시 아무 반응 없음
  • "Unknown tool" 오류

해결 방법:

Cursor

# 1. 설정 파일 확인
cat ~/.cursor/mcp.json

# 2. 설정이 없으면 생성
mkdir -p ~/.cursor
cat > ~/.cursor/mcp.json << 'EOF'
{
  "mcpServers": {
    "novel-mart": {
      "command": "npx",
      "args": ["novel-mart-mcp"],
      "env": {
        "NOVEL_MART_TOKEN": "pat_your_token"
      }
    }
  }
}
EOF

# 3. Cursor 재시작

VSCode

# 프로젝트 루트에 설정 파일 생성
mkdir -p .vscode
cat > .vscode/mcp.json << 'EOF'
{
  "servers": {
    "novel-mart": {
      "command": "npx",
      "args": ["novel-mart-mcp"],
      "env": {
        "NOVEL_MART_TOKEN": "pat_your_token"
      }
    }
  }
}
EOF

3. npx 명령어 오류

증상:

command not found: npx

해결 방법:

  1. Node.js 설치 확인:
node --version  # v18 이상 필요
npm --version
  1. Node.js 설치 (없는 경우):

    • Mac: brew install node
    • Windows: https://nodejs.org 에서 다운로드
    • Linux: sudo apt install nodejs npm
  2. 설정 파일 수정 (글로벌 설치):

# 글로벌 설치
npm install -g novel-mart-mcp

# 설정 파일에서 command 변경
{
  "command": "novel-mart-mcp",  # npx 제거
  "args": []
}

4. "장당 20,000자 초과" 오류

증상:

❌ 오류: 장 내용이 20,000자를 초과합니다.

해결 방법:

  1. 장을 나누기:
너무 긴 장을 2-3개로 나눠서 올려줘
  1. 자동 분할 요청:
이 소설을 적절한 길이로 자동 분할해서 노벨마트에 올려줘

5. 연결 오류

증상:

❌ 오류: fetch failed

해결 방법:

  1. 인터넷 연결 확인
  2. 서버 상태 확인:
    • https://proposal-mart.vercel.app 접속 테스트
  3. 로컬 서버 사용 중인 경우:
# 개발 서버 실행 확인
pnpm dev

# 브라우저에서 http://localhost:3010 접속 테스트

📚 실전 예제

예제 1: 처음 소설 올리기

노벨마트에 판타지 소설 올려줘

제목: 드래곤 슬레이어
장르: FANTASY
설명: 평범한 대장장이가 전설의 용사가 되는 이야기

제1장 - 시작
옛날 옛적, 작은 마을에 한 대장장이 소년이 살았습니다.
그의 이름은 에이든...
[계속...]

제2장 - 여정
어느 날, 마을에 용이 나타났습니다...
[계속...]

예제 2: 기존 소설에 이어쓰기

노벨마트 "드래곤 슬레이어"에 3장 추가해줘

제3장 - 시련
에이든은 험난한 산을 넘어야 했습니다...
[내용...]

예제 3: 파일에서 소설 업로드

@novel.md 파일 내용을 노벨마트에 로맨스 소설로 올려줘

제목은 "봄날의 편지"로 해줘

예제 4: 소설 현황 파악

노벨마트에 올린 소설들 현황 정리해줘

AI가 자동으로:

  • 소설 목록 조회
  • 조회수, 좋아요 통계
  • 판매 수익 정보
  • 마크다운 표로 정리

📋 IDE별 설정 차이

MCP 설정은 IDE마다 형식이 다릅니다:

| IDE | 키 | type | 파일 위치 | |-----|-----|------|-----------| | Cursor | mcpServers | ❌ 불필요 | ~/.cursor/mcp.json | | VSCode | servers | ✅ 필수 ("stdio") | .vscode/mcp.json (프로젝트 루트) | | Claude Desktop | mcpServers | ❌ 불필요 | ~/Library/Application Support/Claude/... |

예시 비교:

// Cursor / Claude Desktop
{
  "mcpServers": {
    "novel-mart": {
      "command": "npx",
      ...
    }
  }
}

// VSCode (주의!)
{
  "servers": {
    "novel-mart": {
      "type": "stdio",  // 필수!
      "command": "npx",
      ...
    }
  }
}

🔗 관련 링크

| 링크 | 설명 | |------|------| | Proposal Mart | 메인 웹사이트 | | Novel Mart | 소설 마켓플레이스 | | 가이드 | 전체 가이드 | | GitHub | 소스 코드 |


💬 지원

문제가 해결되지 않으면:

  1. GitHub Issues: https://github.com/Mike-kor/proposal-mart/issues
  2. 이메일: [email protected]

📄 라이선스

MIT License


Made with ❤️ by Proposal Mart Team