Skip to main content
Glama

Ackrite

ACKRITE. PROVE IT.

AI 에이전트가 행동하기 전에 자신의 가정을 증명하도록 만드는 MCP 서버.

Ackrite는 AI 에이전트를 위한 검증 유틸리티입니다. 모든 문제를 해결하려 하지 않고, 편리한 답을 찾아 검색하거나 입증 자료를 지어내지 않습니다. 대신 제공된 증거만 사용하여 에이전트의 기술적 주장을 검증하고, 사실과 가설을 구분하며, 빠진 증거를 식별하고, 문제를 해결할 수 있는 가장 작은 다음 검사를 권장합니다.

그 목적은 익숙한 실패 패턴을 방지하는 것입니다. 에이전트가 오류를 보고 원인을 추정한 뒤 자신 있게 시스템의 절반을 다시 작성하고, 그제서야 그 가정이 틀렸음을 발견하는 패턴입니다. Ackrite는 에이전트가 증거, 목표 지향적 실험, 범위가 제한된 변경, 명시적인 불확실성으로 나아가도록 유도합니다.

Ackrite가 하는 일

Ackrite가 하지 않는 일

제공된 증거로부터 주장 분류

제공되지 않은 증거를 지어내거나 가져오거나 암시하지 않음

모순과 근거 없은 가정 감지

추론을 사실로 제시하지 않음

구현 전 재작성과 범위 확대 검증

코드 변경을 적용하거나 외부 시스템을 호출하지 않음

제한된 프로세스 내 검증 기록 추적

대규모 메모리 시스템을 유지하거나 L-Dopa에 의존하지 않음

진단 출력에서 일반적인 비밀값 편집

모든 사용자 정의 자격 증명 형식에 대한 완벽한 비밀값 탐지를 보장하지 않음

Wait, let me redo that table properly.

Ackrite가 하는 일

Ackrite가 하지 않는 일

제공된 증거로부터 주장 분류

제공되지 않은 증거를 지어내거나 가져오거나 암시하지 않음

모순과 근거 없는 가정 감지

추론을 사실로 제시하지 않음

구현 전 재작성과 범위 확대 검증

코드 변경을 적용하거나 외부 시스템을 호출하지 않음

제한된 프로세스 내 검증 기록 추적

대규모 메모리 시스템을 유지하거나 L-Dopa에 의존하지 않음

진단 출력에서 일반적인 비밀값 편집

모든 사용자 정의 자격 증명 형식에 대한 완벽한 비밀값 탐지를 보장하지 않음

존재 이유

에이전트의 확신은 증거가 아닙니다. “API가 네이티브 인증을 제거했다”와 같은 주장은 종종 유용한 가설이지만, 확립된 사실로 취급되어 재작성을 정당화하는 데 사용되면 위험해집니다. Ackrite는 네 가지 좁은 질문을 던집니다.

  1. 제공된 증거가 실제로 입증하는 것은 무엇인가?

  2. 주장을 반박하는 것은 무엇인가? (있다면)

  3. 어떤 가정이 핵심 역할을 하는가?

  4. 다음에 실행할 가장 작은 경험적 검사는 무엇인가?

결과는 에이전트의 컨텍스트 창에 직접 다시 넣을 수 있을 만큼 의도적으로 간결합니다.

Related MCP server: Veritas MCP

주장 상태

Ackrite는 의도적으로 보수적인 분류 모델을 사용합니다.

상태

의미

증거 기준

KNOWN

직접적이고 신뢰도가 높은 제공 증거가 주장을 뒷받친다.

신뢰도가 높은 직접 항목이 하나 이상, 예를 들어 목표 지향적 테스트 결과, HTTP 응답, 관찰된 동작, 사용자 제공 사실.

SUPPORTED

직접 제공된 증거가 주장을 뒷받치지만 범위나 신뢰도가 제한적이다.

자격을 갖춘 높은 신뢰도 항목 없이 직접적인 뒷받침 증거.

PLAUSIBLE

주장이 사실일 수 있지만 자료가 간접적이거나 중립적이거나 추론된 것이다.

중립적 증거 또는 추론만.

UNVERIFIED

주장을 확립하는 제공된 뒷받침 증거가 없다.

관련 증거 없음.

CONTRADICTED

제공된 증거 항목 중 하나 이상이 주장과 모순된다.

모순이 해소될 때까지 모순이 우선한다.

기본 규칙: Ackrite는 추론을 결코 사실로 격상시키지 않습니다. 대신 관찰과 결론 사이의 경계를 표시합니다.

아키텍처

Ackrite는 의도적으로 작게 설계되었습니다. MCP 경계, 도메인 분석, 증거 처리, 제한된 상태가 분리되어 있어 실행 중인 MCP 클라이언트 없이도 검증 규칙을 테스트할 수 있습니다.

계층

위치

책임

MCP 전송 및 스키마

src/mcp/server.ts, src/index.ts

다섯 개 도구를 등록하고 표준 입력/출력으로 제공한다.

도구 오케스트레이션

src/tools/verification-tools.ts

에이전트가 바로 사용할 수 있는 도전, 검증, 감사, 증명 계획, 현실 점검 응답을 생성한다.

증거 모델

src/core/evidence.ts

출처, 신뢰도, 극성, 발췌문, 비밀값 편집을 정규화한다.

주장 분석

src/core/claim-analysis.ts

상태, 신뢰 수준, 가정, 빠진 증거, 다음 행동을 결정한다.

세션 기록

src/core/state.ts

주장, 증거, 시도, 결론, 해결되지 않은 가정에 대한 제한된 프로세스 내 기록을 유지한다.

테스트

test/ackrite.test.mjs

도메인 로직과 실제 MCP stdio 클라이언트/서버 동작을 테스트한다.

Ackrite는 공식 MCP TypeScript 서버 및 클라이언트 패키지를 사용하여 TypeScript로 구현되었습니다. stdio 서버를 노출합니다. 클라이언트는 Ackrite를 하위 프로세스로 시작하고 표준 입력과 출력을 통해 JSON-RPC 메시지를 교환하는데, 이는 표준 MCP 전송 방식입니다. [1] [2]

설치

Ackrite는 Node.js 20 이상이 필요합니다.

git clone https://github.com/mshanghai570/Ackrite.git
cd Ackrite
npm install
npm run build

빌드 후 서버를 직접 시작합니다:

npm start

이 프로세스는 표준 입력/출력으로 통신하므로 터미널에서 실행하면 유휴 상태처럼 보일 수 있습니다. 이는 정상입니다. MCP 클라이언트가 요청을 공급합니다. 일반 로그는 표준 출력에 남기지 마세요. MCP stdio는 프로토콜 메시지를 위해 표준 출력을 예약해 둡니다. [1]

MCP 클라이언트 설정

먼저 프로젝트를 빌드한 다음, MCP 클라이언트 구성에 다음과 같은 항목을 추가하세요. /absolute/path/to/Ackrite를 이 저장소가 들어 있는 디렉터리로 바꾸세요.

{
  "mcpServers": {
    "ackrite": {
      "command": "node",
      "args": ["/absolute/path/to/Ackrite/dist/index.js"]
    }
  }
}

클라이언트가 패키지 스크립트 실행을 지원한다면, 저장소를 작업 디렉터리로 하여 node dist/index.js 명령이 동일한 역할을 합니다. Ackrite는 v0.1에서 자격 증명을 받지 않으며 네트워크 호출도 하지 않습니다.

사용 가능한 도구

다섯 개 도구 모두 읽기 전용으로 선언되며, 읽을 수 있는 JSON 텍스트와 구조화된 콘텐츠를 모두 반환합니다. 선택적 sessionId를 받으며, 관련 조사 중에는 같은 값을 사용하여 실행 중인 프로세스 내에서 제한된 기록을 유지하세요.

도구

사용 시점

주요 결과

ackrite

에이전트가 기술적 주장을 하고 검증을 받아야 할 때.

상태, 신뢰 수준, 뒷받침 및 반박 증거, 가정, 빠진 증거, 다음 행동.

verify

주장에 대한 구조화된 증거 원장이 필요할 때.

알려진 것, 가정된 것, 반박된 것, 빠진 것, 결정적 실험.

audit

코드 변경이나 구현 계획이 제안되었을 때.

불필요한 재작성, 범위, API 계약 가정, 보안 민감 작업, 오류 처리 세부 사항, 테스트에 대한 간결한 발견 사항.

prove_it

주장을 확립하는 데 필요한 최소 증거를 원할 때.

주장 도메인별 증명 체크리스트와 반증 가능한 실험.

reality_check

에이전트가 막혀 있거나, 같은 말을 반복하거나, 너무 일찍 성공을 주장할 수 있을 때.

가장 중요한 추론 실패를 먼저 제시하고, 추가로 관찰된 위험.

공통 증거 입력

증거는 구조화되지 않은 컨텍스트에 포함시키지 말고 명시적으로 전달하세요. context는 배경 정보를 제공할 수 있지만 증거로 간주되지 않습니다.

{
  "type": "http_response",
  "source": "staging request, 2026-08-27",
  "content": "POST /v1/session returned 401 with code AUTH_REQUIRED.",
  "polarity": "contradicts",
  "reliability": 0.9
}

필드

필수

설명

type

아니요

code, log, http_request, http_response, test_result, documentation, observed_behavior, user_fact, inference, 또는 other 중 하나.

source

아니요

테스트 이름, 로그 소스, 코드 위치와 같은 간결한 출처 표시.

content

제공된 관찰, 발췌문, 결과 또는 추론.

polarity

아니요

supports, contradicts, 또는 neutral. 추측을 피하기 위해 기본값은 neutral.

reliability

아니요

호출자가 평가한 0부터 1까지의 숫자. 기본값은 0.7.

예시 상호작용

뒷받침되지 않는 API 주장 검증

주장: “API가 더 이상 네이티브 인증을 지원하지 않습니다.”

{
  "claim": "The API no longer supports native authentication.",
  "evidence": [
    {
      "type": "code",
      "source": "current client",
      "content": "The current client implementation does not obtain credentials.",
      "polarity": "supports"
    },
    {
      "type": "observed_behavior",
      "source": "older working application",
      "content": "The older application successfully signs in.",
      "polarity": "contradicts",
      "reliability": 0.9
    }
  ]
}

Ackrite는 CONTRADICTED로 응답하고 두 출처 정보를 모두 보존하며, 클라이언트를 교체하기 전에 이전 인증 흐름을 조사할 것을 권장합니다. 네이티브 인증이 존재한다거나 이전 흐름이 적용 가능하다고 결론 내리지 않습니다. 그렇게 하면 제공된 증거를 벗어나게 됩니다.

재작성 제안 감사

{
  "reportedProblem": "Login returns an unexpected response.",
  "proposal": "Rewrite the authentication client to replace the API endpoint integration.",
  "proposedChanges": [
    {
      "path": "src/auth.ts",
      "description": "Rewrite authentication client and route handling."
    },
    {
      "path": "src/theme.ts",
      "description": "Change unrelated color palette."
    }
  ]
}

감사는 재작성의 더 높은 증거 기준, 근거 없는 API 계약 가정, 빠진 테스트 계획, 그리고 명백히 무관한 테마 변경을 지적합니다. src/auth.tssrc/theme.ts의 내용이 증거로 제공되지 않는 한 해당 파일을 검사했다고 주장하지 않습니다.

반복되는 실패 루프 끊기

{
  "sessionId": "auth-investigation",
  "reasoning": "The rewrite will work and the issue is fixed.",
  "attempts": [
    { "approach": "Replace the auth client", "outcome": "Failed with timeout." },
    { "approach": "Replace the auth client", "outcome": "Failed with timeout again." },
    { "approach": "Replace the auth client", "outcome": "Failed with the same timeout." }
  ]
}

핵심 문제는 반복되는 전략입니다. Ackrite는 멈추고, 교체가 필요해 보이게 만드는 가정을 식별하고, 같은 개입을 다시 시도하는 대신 그 가정을 검증할 것을 권장합니다.

안정성 및 보안 모델

Ackrite는 의도적으로 보수적입니다. v0.1에서 저장소 스캔, HTTP 요청, 외부 문서 조회, 코드 실행, 자율 복구를 수행하지 않습니다. 모든 결론에는 호출자가 제공한 자료로 제한하는 출처 정보가 포함됩니다. 증거가 없는 것은 숨겨야 할 오류가 아니라 하나의 결과입니다.

서버는 진단 텍스트를 반환하기 전에 bearer/basic 인증 값, 비밀번호 형태의 할당, 일반적인 토큰 접두사, 쿼리 문자열 키, API 키 필드를 포함한 일반적인 자격 증명 패턴을 편집합니다. 이는 심층 방어이지 실제 비밀값을 보내도 된다는 허락이 아닙니다. 진단 도구에 프로덕션 자격 증명을 제출하지 마세요.

세션 저장소는 프로세스 로컬이며 제한적입니다. 최대 32개의 명명된 세션에 대해 최근의 주장, 증거, 시도, 결론 및 미해결 가정을 보유합니다. 각 세션별 컬렉션에는 상한이 있고, 가장 오래 전에 사용된 세션은 축출되며, 프로세스가 종료되면 모든 기록이 손실됩니다. 이는 v0.1이 메모리 플랫폼이 되지 않으면서 집중적인 조사에 유용하게 유지되도록 합니다.

개발

명령

목적

npm install

개발 및 런타임 의존성을 설치합니다.

npm run build

TypeScript를 dist/로 컴파일합니다.

npm run check

출력을 생성하지 않고 엄격한 TypeScript 검사를 실행합니다.

npm test

빌드하고, 단위 테스트를 실행하고, MCP 도구 검색을 수행하고, 실제 stdio 하위 프로세스를 통해 모든 도구를 호출합니다.

npm start

컴파일된 Ackrite를 stdio로 시작합니다.

npm run dev

개발 중 TypeScript 소스를 감시합니다.

테스트 스위트에는 주장 분류, 모순된 증거, 뒷받침되지 않는 주장, 마스킹, 제한된 상태, 각 핵심 도구, 반복 실패, 서버 시작, 도구 검색, MCP 프로토콜을 통한 도구 호출에 대한 긍정 및 부정 커버리지가 포함됩니다.

제한 사항

Ackrite의 분석은 완전한 자율 추론 시스템이라기보다 결정론적이고 증거 기반입니다. audit 도구는 제안의 설명을 검토합니다. 이는 정적 분석기가 아니며 작업 트리를 검사하지 않습니다. 반복 전략 감지는 제공된 시도 설명에서 정규화된 용어를 사용하므로, 의미적으로 동일하지만 표현이 매우 다른 시도는 그룹화되지 않을 수 있습니다. 비밀 정보 마스킹 규칙은 일반적인 패턴을 다루지만 모든 독점 자격 증명 형식을 인식할 수는 없습니다.

Ackrite는 v0.1에서 stdio만 사용합니다. L-Dopa 및 다른 MCP 서버와 독립적으로 유지되도록 설계되었습니다. 향후 HTTP 전송, 영속성 계층 또는 저장소 인식 어댑터는 옵트인 방식으로 유지되어야 하며 동일한 무날조 및 마스킹 보장을 유지해야 합니다.

라이선스

Ackrite는 MIT License에 따라 배포됩니다.

참조

[1] Model Context Protocol — Transports

[2] Official Model Context Protocol TypeScript SDK

Install Server
A
license - permissive license
B
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Universal Search-First Knowledge Acquisition Plugin for LLMs. Enables real-time web search and deep page browsing via MCP or CLI. Zero-cost, privacy-first, supports DuckDuckGo, Bing, Google, Brave, Wikipedia, Arxiv, YouTube, Reddit and more.
    2
    13
    16
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to conduct evidence-grounded forensic triage of compromised hosts, with architectural safeguards against evidence spoliation and hallucinated findings, supporting self-correction and chain of custody.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables agents to verify their own output mid-task by checking every claim against provided sources, returning supported, partial, unsupported, or contradicted verdicts with exact citations.
    MIT

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

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/mshanghai570/Ackrite'

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