Periphery Code Audit
개요
제작자가 쓴 설명(영어 원문)
Swift code analysis with Periphery - detect unused code and improve code quality
PopNx MCP의 세 기둥
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
- 사용자 의견i아직 리뷰가 없어요리뷰는 다음 단계에서 계정 기능과 함께 열려요
- 우리의 기본 점검i2개 중 1개 통과공개된 정보로 점검했으며, 코드는 아직 스캔하지 않았어요
- 사용 정도i아주 새로움★ 2
할 수 있는 일
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
- 연결 방식: 내 컴퓨터에서 실행
- 전송 방식: stdio
- 카테고리: 개발자 도구
설치
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
설치하기 전에
- 기본 점검: 2개 중 1개 통과
- 내 컴퓨터에서 내 사용자 계정의 권한(파일, 네트워크, 앱)으로 실행돼요.
- 레지스트리에 입력해야 할 키가 나와 있지 않아요.
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
링크는 제작자의 파일로 바로 연결돼요. 우리가 보관하거나 다시 패키징하지 않아요. 파일을 열면 Claude Desktop이 설치해요.
터미널에서 이 명령어를 실행하세요
브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
할 수 있는 일
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
기본 점검i
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 10일 점검
- ✓ 통과
제작자와 저장소 일치
레지스트리 이름이 GitHub 계정 zyntx-lab 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
- ! 주의
계속 관리되고 있음
코드 마지막 변경: 12개월 전, 6개월 넘게 지났어요
- … 아직 점검 안 함
라이선스 있음
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
- – 해당 없음
엔드포인트 응답
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
- – 해당 없음
OAuth로 로그인
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
- … 아직 점검 안 함
도구 설명에 숨겨진 지시 없음
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
개발자 도구 카테고리의 다른 서버와 비교i
- 이 카테고리의 다른 서버 5723개 중 75%보다 스타가 많아요
- 이 카테고리의 다른 서버 5723개 중 1%보다 최근에 레지스트리에 공개됐어요
- 기본 점검 결과가 이 카테고리의 다른 서버 5723개 중 13%와 같거나 더 좋아요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
자주 묻는 질문
Periphery Code Audit, 안전한가요?
해당하는 기본 점검 2개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
어떤 키나 코드가 필요한가요?
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
내 컴퓨터에서 실행되나요, 클라우드에서 실행되나요?
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
아직 관리되고 있나요?
GitHub 저장소는 마지막으로 12개월 전 변경됐고, 최신 버전(1.0.0)은 12개월 전 레지스트리에 올라왔어요.
어떤 앱에서 쓸 수 있나요?
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 MCPB도 있어야 해요.
대신 쓸 수 있는 건 뭐가 있나요?
같은 카테고리에는: REA, Netdata, Front-End Checklist
대안
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:↓ 주간 다운로드i★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
Netdata
Real-time infrastructure monitoring with metrics, logs, alerts, and ML-based anomaly detection.
Front-End Checklist
Review frontend code and live pages against 386 quality-gated web development rules.
제작자의 README
README 열기
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
Periphery MCP Server
A Model Context Protocol (MCP) server that wraps the Periphery tool, enabling AI assistants to perform Swift code audits and detect unused code in iOS/macOS projects.
Features
- 7 MCP Tools for comprehensive code analysis
- CLI Integration - Uses Periphery CLI for stability and version flexibility
- JSON Output - Structured, parseable results perfect for AI interpretation
- Flexible Scanning - Support for Xcode projects and Swift Packages
- Advanced Options - Full control over Periphery scan configurations
Quick Start
Using Homebrew (Recommended):
# 1. Install Periphery
brew install peripheryapp/periphery/periphery
2. Install Periphery MCP Server
brew tap zyntx-lab/tap brew install periphery-mcp-server
3. Configure Claude Desktop
Edit: ~/Library/Application Support/Claude/claude_desktop_config.json
Add:
"periphery": {
"command": "/opt/homebrew/bin/periphery-mcp-server"
}
4. Restart Claude Desktop (Cmd+Q then reopen)
5. Test it
In Claude Desktop: "Check if Periphery is installed"
From Source:
# 1. Install Periphery
brew install peripheryapp/periphery/periphery
2. Clone and build this server
git clone https://github.com/zyntx-lab/periphery-mcp-server.git cd periphery-mcp-server swift build -c release
3. Install to system path
sudo cp .build/release/periphery-mcp-server /usr/local/bin/ sudo chmod +x /usr/local/bin/periphery-mcp-server
4. Configure Claude Desktop
Edit: ~/Library/Application Support/Claude/claude_desktop_config.json
Add:
"periphery": {
"command": "/usr/local/bin/periphery-mcp-server"
}
5. Restart Claude Desktop (Cmd+Q then reopen)
6. Test it
In Claude Desktop: "Check if Periphery is installed"
Prerequisites
- macOS 13.0 or later
- Swift 6.0 or later
- Periphery installed
Installing Periphery
brew install peripheryapp/periphery/periphery
Or download from Periphery releases.
Installation
Option 1: Homebrew (Recommended)
# Add the tap
brew tap zyntx-lab/tap
Install the server
brew install periphery-mcp-server
Verify installation
which periphery-mcp-server
Should output: /opt/homebrew/bin/periphery-mcp-server
Option 2: Download from GitHub Releases
Download the latest binary from Releases:
# Download and install
curl -L https://github.com/zyntx-lab/periphery-mcp-server/releases/download/v1.0.0/periphery-mcp-server \ -o /usr/local/bin/periphery-mcp-server chmod +x /usr/local/bin/periphery-mcp-server
Verify installation
which periphery-mcp-server
Should output: /usr/local/bin/periphery-mcp-server
Option 3: Build from Source
# Clone the repository
git clone https://github.com/zyntx-lab/periphery-mcp-server.git cd periphery-mcp-server
Build release version
swift build -c release
Install to system path (requires password)
sudo cp .build/release/periphery-mcp-server /usr/local/bin/ sudo chmod +x /usr/local/bin/periphery-mcp-server
Verify installation
which periphery-mcp-server
Should output: /usr/local/bin/periphery-mcp-server
Option 4: Install from MCP Registry
The server is also available on the MCP Registry. Use your MCP-compatible client to install it directly.
Configuration
Claude Desktop
Step 1: Locate Your Config File
The config file is at: ~/Library/Application Support/Claude/claude_desktop_config.json
Step 2: Edit the Configuration
If you installed via Homebrew:
{
"mcpServers": { "periphery": { "command": "/opt/homebrew/bin/periphery-mcp-server" } } }
If you installed to /usr/local/bin:
{
"mcpServers": { "periphery": { "command": "/usr/local/bin/periphery-mcp-server" } } }
If you're using the build directory directly:
{
"mcpServers": { "periphery": { "command": "/FULL/PATH/TO/periphery-mcp-server/.build/release/periphery-mcp-server" } } }
If you already have other MCP servers configured:
{
"mcpServers": { "xcode": { "command": "node", "args": ["/path/to/xcode-mcp-server/dist/index.js"] }, "periphery": { "command": "/usr/local/bin/periphery-mcp-server" } } }
Step 3: Restart Claude Desktop
Important: You must completely quit and restart Claude Desktop for changes to take effect.
- Quit Claude Desktop: Press
Cmd+Qor use Claude Desktop → Quit - Wait a few seconds
- Reopen Claude Desktop
Step 4: Verify It's Working
Open a new conversation in Claude Desktop and try:
"Check if Periphery is installed"
If configured correctly, Claude will use the check_periphery_installed tool and respond with installation status.
Testing with MCP Inspector
Before configuring Claude Desktop, you can test the server with the MCP Inspector:
# Install MCP Inspector (if not already installed)
npm install -g @modelcontextprotocol/inspector
Test your server
npx @modelcontextprotocol/inspector /usr/local/bin/periphery-mcp-server
Or if using build directory
npx @modelcontextprotocol/inspector /path/to/periphery-mcp-server/.build/release/periphery-mcp-server
The Inspector will open in your browser where you can test all tools interactively.
Other Editors
VS Code
Add to .vscode/mcp.json:
{
"mcpServers": { "periphery": { "type": "stdio", "command": "/usr/local/bin/periphery-mcp-server" } } }
Cursor
Add to .cursor/mcp.json:
{
"mcpServers": { "periphery": { "type": "stdio", "command": "/usr/local/bin/periphery-mcp-server" } } }
Available Tools
1. check_periphery_installed
Verify that Periphery CLI is installed and accessible.
Parameters: None
Example Response:
{
"installed": true, "path": "/usr/local/bin/periphery", "message": "Periphery is installed and ready" }
2. get_periphery_version
Get the installed version of Periphery.
Parameters: None
Example Response:
{
"version": "2.18.0", "raw_output": "2.18.0" }
3. scan_project
Run a basic Periphery scan on a project.
Parameters:
project_path(required): Path to .xcodeproj or Package.swiftschemes(optional): Build schemes to scan (Xcode only)targets(optional): Specific targets to analyzeformat(optional): Output format: json, xcode, csv, checkstyle (default: json)
Example Response:
{
"success": true, "results": [ { "kind": "class", "name": "UnusedClass", "modifiers": ["public"], "location": "Sources/MyApp/UnusedClass.swift:10:7" } ], "summary": { "total_unused": 5, "by_kind": {"class": 2, "function": 3} } }
4. scan_with_config
Run Periphery scan using a YAML configuration file.
Parameters:
config_path(required): Path to .periphery.yml config file
5. analyze_unused_imports
Focus specifically on detecting unused imports.
Parameters:
project_path(required): Path to .xcodeproj or Package.swiftschemes(optional): Build schemes to scantargets(optional): Specific targets to analyze
6. find_redundant_public
Identify public declarations that could be internal.
Parameters:
project_path(required): Path to .xcodeproj or Package.swiftschemes(optional): Build schemes to scantargets(optional): Specific targets to analyze
7. scan_with_options
Advanced scanning with custom Periphery flags.
Parameters:
project_path(required): Path to .xcodeproj or Package.swiftschemes(optional): Build schemes to scantargets(optional): Specific targets to analyzeformat(optional): Output formatretain_public(optional): Retain all public declarationsretain_objc_accessible(optional): Retain @objc declarationsdisable_unused_import_analysis(optional): Disable unused import analysisindex_store_path(optional): Custom index store locationverbose(optional): Enable verbose output
Usage Examples
With Claude Desktop
Once configured, you can have natural conversations with Claude about your code:
Check Installation:
You: "Check if Periphery is installed"
Claude: [Uses check_periphery_installed] "Yes, Periphery is installed at /usr/local/bin/periphery Version: 2.18.0"
Scan a Project:
You: "Scan my iOS project at ~/Projects/MyApp/MyApp.xcodeproj for unused code"
Claude: [Uses scan_project] "I found 15 unused declarations in your project:
Classes (5):
- UnusedViewController at MyApp/UnusedViewController.swift:10
- OldDataManager at MyApp/Models/OldDataManager.swift:25
...
Functions (8):
- helperFunction at Utils/Helpers.swift:42
...
Imports (2):
- UIKit in DataModel.swift:1
..."
Find Redundant Public:
You: "Check which public declarations could be made internal in ~/Projects/MyFramework"
Claude: [Uses find_redundant_public] "Found 12 public declarations that are only used internally and could be made internal:
- public class InternalHelper (only used within the framework)
- public func formatDate() (only called from within the module)
..."
Analyze Unused Imports:
You: "Find unused imports in my Swift package"
Claude: [Uses analyze_unused_imports] "Found 8 unused imports that can be safely removed:
- Foundation in Models/User.swift (not using any Foundation APIs)
- Combine in ViewModels/ProfileViewModel.swift (Combine is imported but not used)
..."
With Custom Configuration
Create .periphery.yml in your project:
project: MyApp.xcodeproj
schemes:
- MyApp
targets:
- MyApp
- MyAppKit
format: json retain_public: false retain_objc_accessible: true verbose: false
Then use scan_with_config:
You: "Scan my project using the custom config"
Troubleshooting
Server Not Appearing in Claude Desktop
Symptoms: Claude doesn't recognize Periphery tools after configuration
Solutions:
- Verify config file syntax:
# Check for JSON syntax errors
cat ~/Library/Application\ Support/Claude/claude_desktop_config.json | python3 -m json.tool
- Check the binary path is correct:
# Test that the binary exists and runs
/usr/local/bin/periphery-mcp-server
Or your custom path
/path/to/.build/release/periphery-mcp-server
- Completely restart Claude Desktop:
- Press
Cmd+Qto quit (not just close the window) - Wait 5 seconds
- Reopen Claude Desktop
- Start a new conversation (old conversations won't see new servers)
- Check Claude Desktop logs:
# View logs for errors
tail -f ~/Library/Logs/Claude/mcp*.log
Periphery Not Found
If you get "Periphery is not installed":
- Install Periphery:
brew install peripheryapp/periphery/periphery - Verify installation:
which periphery - Restart Claude Desktop/VS Code/Cursor
- Try the
check_periphery_installedtool again
MCP Inspector Connection Errors
If the Inspector can't connect to the server:
- Verify the server runs:
# Server should wait for input, not exit immediately
/usr/local/bin/periphery-mcp-server
Press Ctrl+C to exit
- Check for errors:
# Run with verbose output
/usr/local/bin/periphery-mcp-server 2>&1 | tee server.log
- Use the absolute path:
npx @modelcontextprotocol/inspector $(which periphery-mcp-server)
Scan Timeout
Default timeout is 5 minutes. For large projects:
- Use
scan_with_configwith a focused configuration - Scan speci