Run plagiarism checks from your AI assistant
Connect Codequiry to Claude, Cursor or any MCP client. Then ask it to check a folder of submissions and it uploads them, runs the check, waits, and tells you what matched, down to the line. You never open the dashboard.
Works with Claude.ai, Claude Desktop, Claude Code, Cursor, VS Code, Windsurf and Zed.
Sign in from your assistant
Nothing to install. Add this address as a connector, approve the sign-in once, and you are connected.
https://codequiry.com/mcp
Or run it on your machine
For folders on your own disk. Takes an API key and Node 18 or newer.
claude mcp add codequiry --env CODEQUIRY_API_KEY=your_key -- npx -y codequiry-mcp
Setup
Pick how you want to connect, then your client. Both ways give the assistant the same tools.
- Give your client this address:
https://codequiry.com/mcp. Where it goes is below. - A Codequiry sign-in opens in your browser. Press Allow. You can disconnect it later from API keys in the dashboard. No account yet? Start a trial first.
Name: Codequiry
URL: https://codequiry.com/mcp
Press Add, then Connect, and the sign-in opens in a new tab. Custom connectors need a paid Claude plan. Once added on the web it works in the Claude mobile apps too.
Name: Codequiry
URL: https://codequiry.com/mcp
A connector added on claude.ai shows up in Claude Desktop as well, under the same account.
claude mcp add --transport http codequiry https://codequiry.com/mcp
Then type /mcp in Claude Code, pick codequiry, and choose Authenticate. Add --scope user to have it in every project.
{
"mcpServers": {
"codequiry": {
"url": "https://codequiry.com/mcp"
}
}
}
Cursor shows a Needs login badge next to the server in Settings, MCP. Click it and the sign-in opens.
code --add-mcp '{"name":"codequiry","type":"http","url":"https://codequiry.com/mcp"}'
VS Code asks to allow the sign-in the first time the server starts. Or use the Command Palette: MCP: Add Server, then HTTP.
{
"mcpServers": {
"codequiry": {
"serverUrl": "https://codequiry.com/mcp"
}
}
}
Refresh the server list in the Cascade panel afterwards and follow the login prompt.
Files. The signed-in server runs on codequiry.com, so it cannot see your disk. Give it a public link to a .zip (a GitHub "Download ZIP" link works), or run it locally instead.
Read only. If your client lets you pick scopes, choose read alone. The assistant can then look through every result but never start or delete anything.
- Copy your key from the API keys page. No account yet? Start a trial first.
- Pick your client below, swap
your_keyfor the real one, and restart the client. Most of them only read the config on launch.
claude mcp add codequiry --env CODEQUIRY_API_KEY=your_key -- npx -y codequiry-mcp
Add --scope user to have it in every project. Check with claude mcp list.
{
"mcpServers": {
"codequiry": {
"command": "npx",
"args": ["-y", "codequiry-mcp"],
"env": {
"CODEQUIRY_API_KEY": "your_key"
}
}
}
}
Open it from Settings, Developer, Edit Config. Restart Claude Desktop after saving.
{
"mcpServers": {
"codequiry": {
"command": "npx",
"args": ["-y", "codequiry-mcp"],
"env": {
"CODEQUIRY_API_KEY": "your_key"
}
}
}
}
Put the same file at .cursor/mcp.json inside a project to keep it to that project.
code --add-mcp '{"name":"codequiry","command":"npx","args":["-y","codequiry-mcp"],"env":{"CODEQUIRY_API_KEY":"your_key"}}'
Or open the Command Palette, run MCP: Add Server, and pick Command (stdio).
{
"mcpServers": {
"codequiry": {
"command": "npx",
"args": ["-y", "codequiry-mcp"],
"env": {
"CODEQUIRY_API_KEY": "your_key"
}
}
}
}
The Manage MCP servers button in the Cascade panel opens this file for you. Refresh the list after saving.
{
"context_servers": {
"codequiry": {
"command": {
"path": "npx",
"args": ["-y", "codequiry-mcp"],
"env": {
"CODEQUIRY_API_KEY": "your_key"
}
}
}
}
}
Zed calls them context servers. Open settings with zed: open settings from the command palette.
Windows. If the client says it cannot start npx, use "command": "cmd" with "args": ["/c", "npx", "-y", "codequiry-mcp"].
Did it work? Ask the assistant to run codequiry_validate_key. It answers with the account the key belongs to, or says what is wrong.
What a session looks like
This one is made up, but it is the shape of it.
codequiry_quick_check
codequiry_wait_for_check
codequiry_get_overview
codequiry_get_ai_results
student_04 is a maybe. Only 12 percent against the others, but high on AI detection. Worth a look, not an accusation.
The other 21 look normal. Want the matching lines from the first pair side by side?
What it costs
Starting a check costs one check, the same as it does from the dashboard. Everything else, reading results, listing old checks, pulling up matching lines, is free to call as often as you like. No tool can spend more than one check per call.
The two tools that spend and the two that delete are marked destructive in the protocol, so your client asks before running them. If you would rather not depend on a prompt, set CODEQUIRY_MCP_READONLY=1 on the local server, or pick the read scope when you sign in. Either way the assistant can read every result but cannot start or delete anything.
The tools
Twenty-six, one per API operation. You will mostly use the first two and let the assistant work out the rest.
All 26 tools
Run a check
codequiry_quick_checkspends 1- Creates the check, uploads the zips and starts it, in one call. Usually the one it reaches for.
codequiry_wait_for_check- Waits for the check to finish without hammering the API.
codequiry_create_check- Create an empty check, for the multi-step flow or to set a completion webhook.
codequiry_upload_submission- Upload one zip into an existing check. Up to 10 MB each.
codequiry_upload_submissions- Upload up to 50 zips into an existing check at once.
codequiry_start_checkspends 1- Start analysis on a check that already has submissions.
Read results
codequiry_get_check_summary- The headline numbers: average, maximum, AI scores, how many are flagged.
codequiry_get_overview- One score per submission, plus a link to the same page on the dashboard.
codequiry_get_results- Matched files and line ranges for one submission.
codequiry_get_ai_results- AI-generated-code scores, if the check ran with AI detection on.
codequiry_export_results- One row per submission, as JSON or CSV.
codequiry_view_submission- Everything the results page shows for one submission.
codequiry_get_submission_file- The text of one file inside a submission.
codequiry_get_match_counterpart- The code on the other side of a match, with line ranges on both sides.
codequiry_get_matched_web_source- The stored copy of a web page a submission matched.
Manage checks
codequiry_list_checks- Past checks, newest first.
codequiry_get_check- One check with its settings, status and submissions.
codequiry_get_check_status- Status and progress of one check.
codequiry_update_check- Rename a check or change its language.
codequiry_delete_checkdeletes- Delete a check and everything in it. Not on trial accounts.
codequiry_delete_submissiondeletes- Delete one submission from a check. Not on trial accounts.
Account and reference
codequiry_account- The account behind the key, including checks remaining.
codequiry_validate_key- Confirms the key is accepted. First thing to try when setup fails.
codequiry_service_status- Engine health and current queue depth.
codequiry_list_languages- Language ids. 999 is auto-detect.
codequiry_list_test_types- Engine ids accepted when creating or starting a check.
Questions
What is MCP?
An open standard that lets AI assistants call outside tools. The assistant gets a list of things it can do and decides when to use them. This server is our list.
Do I need an API key?
Not if you sign in. The local server needs one because it runs on your machine and can read your folders.
Can it show me the matching code?
Yes. It can fetch both sides of any match with line ranges, so the assistant can put the two pieces of code next to each other in the chat.
The tools fail. What now?
Ask it to run codequiry_validate_key. Signed in, the usual cause is a lapsed connection: disconnect and connect again. Locally, it is a wrong or missing key. Then restart the client.
How big can a submission be?
10 MB per zip, one zip per submission. The server checks the size before uploading, so you get a clear message instead of a request that fails halfway.
Where does my code go?
To Codequiry, the same as uploading through the dashboard. The server is a thin client and keeps nothing itself. See the privacy policy.
Does this replace the API or the CLI?
No, it sits on top of the same API. For scripts and anything on a schedule, use the API or the CLI. Use this when you would rather just ask.
Is it open source?
Yes, MIT. It is on npm as codequiry-mcp.
That is all of it
Sign in from your assistant, or paste one line with a key, and it can check code for you.