Skip to main content
Glama
Perssua

@perssua/mcp

Official
by Perssua

@perssua/mcp — 공식 Perssua MCP 서버

MCP 지원 AI 앱(Claude Desktop, Claude Code, ChatGPT 개발자 모드 커넥터, Grok 커넥터, 기타 모든 MCP 클라이언트)이 대화에서 바로 구성된 어시스턴트와 컨텍스트(자유 텍스트 + 첨부 텍스트 파일)로 Perssua 세션을 시작할 수 있게 합니다.

Claude / ChatGPT / Grok ──(MCP tool call)──▶ perssua-mcp
                                               │  writes single-use handoff JSON
                                               ▼
                    <Perssua userData>/external-handoffs/<id>.json
                                               │  opens perssua://session/start?handoff=<id>
                                               ▼
                                         Perssua app
                    (selects the assistant, injects context, opens the
                     session tab, prefills or auto-submits the prompt)

요구 사항

  • Node.js ≥ 18

  • Perssua 데스크톱 앱(풀 버전)이 설치되어 있고 최소 한 번은 실행된 적이 있어야 합니다(시작 시 ~/.perssua/bridge.json에 통합 브리지를 기록합니다).

Related MCP server: Perplexity AI MCP Server

실행

# Local stdio (Claude Desktop, Claude Code, other local MCP clients)
npx -y @perssua/mcp          # once published; from this repo use:
node bin/perssua-mcp.js

# Streamable-HTTP endpoint on http://127.0.0.1:8433/mcp
node bin/perssua-mcp.js --http 8433

도구

Tool

What it does

app_status

Perssua가 이 머신에 설치/실행 중인지, 어디에 있는지, 그리고 설치된 빌드가 어떤 핸드오프 기능을 광고하는지 알려줍니다.

list_assistants

앱의 명단 스냅샷에서 사용자의 어시스턴트(이름 + id) 목록을 보여줍니다.

start_session

핸드오프(어시스턴트, 프롬프트, 컨텍스트, 텍스트 파일, autoSubmit)를 기록하고 perssua://session/start?handoff=<id>를 통해 앱을 실행합니다. 로컬 모드 전용입니다.

create_assistant

새 사용자 지정 어시스턴트(이름 + 지시사항, 선택적 카테고리/지식/파일)를 만들고 그 어시스턴트로 세션을 엽니다. 이 도구는 클라이언트가 먼저 사용자를 인터뷰하도록 안내합니다. 지식은 어시스턴트의 영구 컨텍스트가 됩니다. 로컬 모드 전용이며 핸드오프 채널 전용입니다.

create_session_link

클릭 가능한 perssua://session/start?... 링크를 반환합니다(PERSSUA_LAUNCH_URL이 설정된 경우 https 런처 링크도 반환합니다). 호스팅/원격 커넥터용입니다.

MCP 프롬프트도 하나 있습니다. new_assistantcreate_assistant를 호출하는 것으로 끝나는 안내형 인터뷰(목표 → 스타일 → 지식 → 킥오프)입니다. Claude Code에서는 /mcp__perssua__new_assistant로 표시됩니다.

버전 호환성

앱은 ~/.perssua/bridge.json(capabilities, 예: ["session-start", "session-files", "create-assistant"])에 핸드오프 기능을 광고합니다. 설치된 빌드가 create-assistant를 광고하지 않으면 create_assistant는 앱을 업데이트하라는 메시지와 함께 거부합니다. 이전 인테이크는 해당 필드를 조용히 누락했을 것이기 때문입니다. capabilities 필드가 도입되기 전 빌드가 기록한 브리지는 아무 기능도 광고하지 않습니다.

보안 모델

  • 핸드오프 페이로드는 앱 자체 사용자 데이터 디렉터리 안의 일회용 파일입니다. 앱은 id 문법, 크기(≤ 2 MB), 신선도(≤ 15분)를 검증하고 한 번 읽은 후 파일을 삭제합니다.

  • 인라인 perssua:// 링크(create_session_link가 생성하는 링크)는 절대 자동 제출하지 않으며 파일을 첨부할 수 없습니다. 모든 웹 페이지가 사용자 지정 스킴을 열 수 있으므로 사용자는 항상 Perssua 내부에서 미리 채워진 프롬프트를 검토합니다.

  • 파일 첨부는 이 서버(사용자 권한으로 실행)가 읽어 텍스트로 인라인하며 크기 제한이 적용됩니다. 바이너리 파일은 건너뜁니다. 앱은 핸드오프에서 임의의 경로를 절대 읽지 않습니다.

테스트

npm test   # node --test — no network, no app required

개인정보 처리방침

전체 정책: https://perssua.com/privacy

이 MCP 서버가 데이터를 어떻게 처리하는지 구체적으로 설명하면 다음과 같습니다:

  • 수집: 서버는 전적으로 사용자 머신에서 실행됩니다. 서버는 Perssua 통합 브리지(~/.perssua/bridge.json)와 어시스턴트 명단 스냅샷(이름과 id만)을 읽고, 도구 호출이 요청할 때 사용자가 첨부하기로 선택한 로컬 텍스트 파일을 읽습니다. 도구 인자(프롬프트, 컨텍스트, 어시스턴트 사양)는 MCP 클라이언트에서 옵니다.

  • 사용 및 저장: 페이로드는 같은 머신의 Perssua 앱 자체 핸드오프 디렉터리에만 일회용 파일로 기록되며, 앱은 읽은 후 해당 파일을 삭제합니다(15분 만료). 서버는 데이터베이스, 콘텐츠 로그, 호출 간 상태를 전혀 유지하지 않습니다.

  • 제3자 공유: 없음. 서버는 네트워크 요청을 하지 않습니다. 데이터는 MCP 클라이언트와 로컬 Perssua 앱 사이에서만 흐릅니다. Perssua 앱 자체가 처리하는 세션 콘텐츠는 위에 링크된 정책의 적용을 받습니다.

  • 보관: 이 서버는 아무것도 보관하지 않습니다. 소비되지 않은 핸드오프 파일은 15분 후 앱이 삭제합니다.

  • 문의: help@perssua.com

클라이언트별 설정은 ../claude, ../chatgpt, ../grok을 참조하고, 전체 프로토콜 참조는 ../../docs/integrations.md를 참조하세요.

Available Tools

5 tools
app_statusPerssua app statusA
Read-only

Check whether the Perssua desktop app is installed and running on this machine, and where its integration bridge lives.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The readOnlyHint and openWorldHint annotations already convey that this is a safe, read-only operation. The description adds that it checks installation, running state, and bridge location on the local machine, but it does not describe return format, error behavior, or what 'integration bridge' concretely means. This is acceptable but not especially rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that communicates the resource, the exact checks being performed, and the location aspect. Every phrase earns its place, and there is no redundant filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple, parameterless read-only status tool with no output schema, the description covers what an agent needs to know: that the tool checks installation, running state, and bridge location. Sibling tools are unrelated, and no prerequisites or caveats are necessary for this operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the description cannot add parameter-level meaning. A score of 4 is the appropriate baseline for a parameterless tool, and the description sufficiently explains the tool's purpose without needing parameter details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Check') and identifies the concrete resource: whether the Perssua desktop app is installed, running, and where its integration bridge lives. This clearly differentiates it from the sibling tools, which deal with assistants and sessions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives a clear use context: call this tool to determine the desktop app's installation and running state, and to locate its integration bridge. It does not explicitly mention alternatives or exclusions, but the sibling tools' purposes are clearly different enough that the intended use is evident.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_assistantCreate a Perssua assistantA

Create a new custom assistant in the Perssua desktop app (name + system-prompt instructions, optional knowledge) and open a session with it. BEFORE calling this, interview the user briefly so the assistant fits: (1) what is the assistant's goal / what sessions will it support, (2) how should it respond (tone, format, language), (3) what knowledge should it carry (notes, files, background), (4) what should the first session start with. Then write the instructions yourself from those answers. Knowledge text and files become the assistant's permanent context, not part of the first message. Runs on the same machine as the Perssua app.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesAssistant name shown in Perssua, e.g. "Interview Coach".
filesNoLocal text-file paths whose contents are stored as the assistant's knowledge.
sourceNoCalling product, e.g. "claude", "chatgpt", "grok". Defaults to the PERSSUA_MCP_SOURCE env var or "mcp".
categoryNoOptional category label for the assistants library.
knowledgeNoFree-text knowledge stored with the assistant (background, notes, decisions).
autoSubmitNoSubmit the first prompt immediately (default true). When false, it is prefilled for review.
firstPromptNoFirst user message for the session that opens with the new assistant.
instructionsYesSystem prompt defining the assistant: goal, behavior, tone, and response format.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations, the description discloses important behavioral details: knowledge and files become permanent context, they are not part of the first message, a session is opened immediately, and the tool runs on the same machine as the Perssua app. This adds meaningful context without contradicting the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core action and then provides structured, numbered pre-call guidance. Every sentence carries useful information, including the environment note about running on the same machine, with no fluff or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 8 parameters and no output schema, the description provides rich context: what to do before calling, how to craft instructions, the permanence of knowledge, and the local-machine runtime. Combined with the fully described schema, an agent has everything needed to invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already documents all parameters with 100% coverage, so the baseline is 3. The description adds extra semantic value by clarifying that knowledge and files become permanent assistant context rather than part of the first message, which directly disambiguates knowledge, files, and firstPrompt.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: create a new custom assistant in the Perssua desktop app and open a session with it. It also names the key ingredients (name, system-prompt instructions, optional knowledge), clearly distinguishing this from sibling tools like list_assistants and start_session.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives unusually concrete usage guidance by requiring a brief user interview before calling and specifying exactly what to ask. It does not explicitly list sibling alternatives or when-not-to-use cases, but the context for when this tool is appropriate is very clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_assistantsList Perssua assistantsA
Read-only

List the user's configured Perssua assistants (name and id) so a session can be started with the right one.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the read-only and non-open-world nature, so the description does not need to restate those. It adds the useful scoping detail that only the user's configured assistants are listed and that results include name and id, but it stays silent on ordering, pagination, or empty-list behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence that leads with the verb and resource and then explains the purpose. No filler, no repetition of the tool name, and every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-argument, read-only list tool, the description provides the essential return fields and the reason to call it. There is no output schema, but 'name and id' gives an agent enough to invoke and interpret the call successfully.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With zero parameters, the schema already carries complete parameter information, so the description does not need to compensate. The mention of returned fields ('name and id') adds relevant context for interpreting the call result.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('List'), a specific resource ('the user's configured Perssua assistants'), and the key returned fields ('name and id'). This makes it easy to distinguish from the sibling tools, which create or start sessions rather than enumerate existing assistants.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies the right usage moment: call this before starting a session so the correct assistant can be selected. It does not explicitly name alternative tools or state when not to use it, so it falls just short of full guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

start_sessionStart a Perssua sessionA

Launch the Perssua desktop app and start a session with an optional assistant, an initial prompt, free-text context, and text files attached as context. Runs on the same machine as the Perssua app; for remote/hosted setups use create_session_link instead. Files must be paths to local text files (binary files are skipped). To start with a NEW assistant that does not exist yet, use create_assistant instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
filesNoLocal text-file paths whose contents are attached as session context.
promptNoInitial user message for the session.
sourceNoCalling product, e.g. "claude", "chatgpt", "grok". Defaults to the PERSSUA_MCP_SOURCE env var or "mcp".
contextNoBackground context injected into the session (project notes, task description, decisions so far).
assistantNoAssistant to activate, by name or id (see list_assistants). Omit to keep the current one.
autoSubmitNoSubmit the prompt immediately (default true). When false, the prompt is prefilled for the user to review.

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnly=false and destructive=false, and the description adds meaningful runtime facts: the tool launches a local desktop app, only accepts local text-file paths, and silently skips binary files. It does not cover every side effect like process lifecycle or return behavior, but it goes well beyond the bare annotation profile without contradicting it.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each earning its place: the core function, the local-vs-remote boundary, and the file/new-assistant caveats. It is front-loaded with the main purpose and contains no repetition of the title or schema fields.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with six optional parameters and no output schema, the description gives enough context to select and invoke it: local execution, remote alternative, file restrictions, and new-assistant alternative. The remaining gap is that it does not describe what the tool returns or what state changes occur after launch, which would be more important without the strong sibling guidance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds value by grouping the parameters into a coherent invocation scenario ('optional assistant, initial prompt, free-text context, and text files') and by contributing the binary-file-skip constraint that is not present in the schema. This lifts it above the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Launch the Perssua desktop app and start a session') and enumerates the optional payloads it accepts. It explicitly distinguishes the tool from create_session_link and create_assistant, so an agent can disambiguate at a glance.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit when-to-use and when-not-to-use guidance: local same-machine usage vs 'remote/hosted setups use create_session_link instead,' and new-assistant creation routed to create_assistant. This is direct alternative routing rather than leaving the choice to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 5 tool updatesv0.1.0
    • First observedapp_status
    • First observedcreate_assistant
    • First observedcreate_session_link
    • First observedlist_assistants
    • First observedstart_session

TDQS

A4.4/5.0
Disambiguation5/5

Each tool maps to a distinct action: environment status, assistant listing, remote link creation, local session launch, and assistant creation. The two session-starting tools are clearly separated by local vs remote context and explicitly reference each other, reducing ambiguity.

Naming Consistency4/5

Most tool names follow a clear verb_noun snake_case pattern: list_assistants, create_session_link, start_session, create_assistant. app_status is the only noun-phrase name without an action verb, a minor deviation from the otherwise consistent convention.

Tool Count5/5

Five tools is well-scoped for a desktop-app integration bridge. Each tool covers a distinct step in the assistant/session workflow without unnecessary overlap or bloat.

Completeness4/5

The set covers the core workflow: checking app availability, listing assistants, starting sessions locally or via links, and creating new assistants. It lacks update/delete or session-management operations, but those may realistically live in the desktop app itself.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Perssua/perssua-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server