Nepternship
by robertisaak · remote · no sign-in to list tools · v1.0.0 · published by GitHub user robertisaak
Warm intros and referrals for internships and entry-level jobs at 3,000+ companies.
22 tools: 5 can delete or cancel things, 10 change things and 7 only read.
Scanned Oct 21, 2026
- Deletes or cancels5Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things10Claude Code: ask: see these tools
- Only reads7Claude Code: allow: see these tools
5 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http nepternship https://mcp.nepternship.com/mcpFindings
Matches of fixed checks, with the text they matched.
- Warnread_thread
The server marks "read_thread" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "read_thread" says "read": a word for reading.
- Warnrequest_balance
The server marks "request_balance" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "request_balance" says "request": a word for a change.
- Warnverify_code
The server marks "verify_code" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The input takes a statement or command to run (input.code), which can change anything it can reach.
- Warnconnect_account
The server marks "connect_account" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "link": a word for a change.
- Infoverify_code
The description mentions "credential".
What this check looks forMatched text
description: "...code is this conversation's Nepternship credential: include it as claim_code on every late..."
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
22 tools
Deletes or cancels 5Claude Code: deny
add_photoUpload or replace the user's Nepternship profile photo.No findings
Why it is in this group
- The name "add_photo" says "add": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Upload or replace the user's Nepternship profile photo. Use this when a signed-in user asks to add or change their photo. Accepts JPG or PNG under 5 MB as base64.
Annotations the server declares
- title: Upload a profile photo
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
choose_first_introCommit a new member's first introduction, chosen from the three suggested in the finish_signup result.No findings
Why it is in this group
- The description's first verb is "commit": a word for a change.
- The description says "cannot be undone".
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Commit a new member's first introduction, chosen from the three suggested in the finish_signup result. Use this only once, right after finish_signup. This cannot be undone; confirm the choice with the user before calling.
Annotations the server declares
- title: Choose your first introduction
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
respond_to_requestAccept or decline an intro request that is waiting on the user (status pending in list_matches).No findings
Why it is in this group
- The name "respond_to_request" says "request": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Accept or decline an intro request that is waiting on the user (status pending in list_matches). Accepting opens a chat with the other member. Declining is private; the requester is not notified and requests expire on their own after 30 days. Confirm with the user before declining.
Annotations the server declares
- title: Accept or decline an intro request
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: true
send_intro_requestAsk a Nepternship member for a warm introduction or referral to the person they can connect the user with, for example an analyst at JPMorgan or an engineer at Google.No findings
Why it is in this group
- The name "send_intro_request" says "send": a word for sending, and what is sent cannot be taken back.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Ask a Nepternship member for a warm introduction or referral to the person they can connect the user with, for example an analyst at JPMorgan or an engineer at Google. Use this when the user says they want to be introduced, referred, connected or put in touch with a member they have seen in search_members, browse_directory or get_member. An optional note of up to 200 characters (school, year, what role they are after) can be included; confirm the person and the note with the user before calling. Fails with a clear message if the user is out of free requests or already has a request or connection with this member.
Annotations the server declares
- title: Request a warm introduction
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: true
send_messageSend a message in one of the user's active introductions (an accepted match).No findings
Why it is in this group
- The name "send_message" says "send": a word for sending, and what is sent cannot be taken back.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Send a message in one of the user's active introductions (an accepted match). Use this only after the user has approved the exact text. Chat is free once an intro is accepted; if a limit applies, the error explains it.
Annotations the server declares
- title: Send a chat message
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: true
Changes things 10Claude Code: ask
add_phoneStore the user's mobile number on their Nepternship account and text them a 6-digit code to verify it.No findings
Why it is in this group
- The name "add_phone" says "add": a word for a change.
Description, as the server wrote it Store the user's mobile number on their Nepternship account and text them a 6-digit code to verify it. Offer it once after a new member's first request goes out (a text when someone accepts), or when a member asks for texts; if they decline, do not ask again. Ask for the number and, as a separate yes/no question, whether they want a text when they receive an introduction; the code is sent either way. Follow with verify_phone.
Annotations the server declares
- title: Add a mobile number
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
connect_accountPermanently link the user's Nepternship account to this assistant so they do not need to sign in again in future conversations.1 finding
Why it is in this group
- The description's first verb is "link": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "connect_account" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "link": a word for a change.
Description, as the server wrote it Permanently link the user's Nepternship account to this assistant so they do not need to sign in again in future conversations. Call this when the user asks to connect, stay signed in, or after they finish signing up and want to keep using Nepternship here.
Annotations the server declares
- title: Connect Nepternship account
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
finish_signupComplete a sign-up started with sign_up once the user has clicked the confirmation email.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Complete a sign-up started with sign_up once the user has clicked the confirmation email. Returns the connector token for the new account, the held intro request if one exists, and three suggested first introductions. Returns a not-confirmed status if the email link has not been clicked yet.
Annotations the server declares
- title: Complete sign-up after email confirmation
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
read_threadReturn the messages in one introduction's chat.1 finding
Why it is in this group
- The name "read_thread" says "read": a word for reading.
- The server marks it as not read-only (readOnlyHint: false).
Findings
- Warn
The server marks "read_thread" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "read_thread" says "read": a word for reading.
Description, as the server wrote it Return the messages in one introduction's chat. Use this when the user wants to read or catch up on a conversation with a matched member. Reading marks the messages as read for the user.
Annotations the server declares
- title: Read an introduction chat
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
request_balanceReturn how many intro requests the user has left, whether they have Nepternship Premium (unlimited requests), any friend-referral credits, and their personal invite link.1 finding
Why it is in this group
- The name "request_balance" says "request": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "request_balance" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "request_balance" says "request": a word for a change.
Description, as the server wrote it Return how many intro requests the user has left, whether they have Nepternship Premium (unlimited requests), any friend-referral credits, and their personal invite link. Use this when the user asks how many requests they have or after send_intro_request fails for reaching the limit.
Annotations the server declares
- title: Check remaining intro requests
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
sign_inEmail a 6-digit sign-in code to an existing Nepternship member.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Email a 6-digit sign-in code to an existing Nepternship member. Use this when a member who is not connected in this conversation wants to use their account (see their introductions, send a request). Returns a claim_code; after verify_code succeeds, pass that claim_code on every later call.
Annotations the server declares
- title: Sign in to Nepternship by email code
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
sign_upCreate a new Nepternship account from details collected in the conversation and send a confirmation email.No findings
Why it is in this group
- The description's first verb is "create": a word for a change.
Description, as the server wrote it Create a new Nepternship account from details collected in the conversation and send a confirmation email. Use this only when the user has explicitly asked to join through the assistant and has given all required fields: email, full name, university, what they are looking for, and who they can introduce other students to. After success, call finish_signup once the user confirms their email.
Annotations the server declares
- title: Create a Nepternship account
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
signup_peekGiven what a prospective member is looking for, return example companies where members can make introductions, with sample offerings and first names.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Given what a prospective member is looking for, return example companies where members can make introductions, with sample offerings and first names. Use this only during in-chat sign-up, after the user has said what they are looking for.
Annotations the server declares
- title: Preview who Nepternship can connect you to
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
verify_codeVerify the 6-digit code the user received by email after sign_up or sign_in.2 findings
Why it is in this group
- The input takes a statement or command to run (input.code), which can change anything it can reach.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Info
The description mentions "credential".
What this check looks forMatched text
description: "...code is this conversation's Nepternship credential: include it as claim_code on every late..."
- Warn
The server marks "verify_code" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The input takes a statement or command to run (input.code), which can change anything it can reach.
Description, as the server wrote it Verify the 6-digit code the user received by email after sign_up or sign_in. On success the claim_code is this conversation's Nepternship credential: include it as claim_code on every later tool call. For a new member it also returns the held intro request and three suggested first introductions.
Annotations the server declares
- title: Enter the emailed code
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
verify_phoneVerify the 6-digit code texted by add_phone and mark the user's mobile number as verified.No findings
Why it is in this group
- The input takes a statement or command to run (input.code), which can change anything it can reach.
Description, as the server wrote it Verify the 6-digit code texted by add_phone and mark the user's mobile number as verified.
Annotations the server declares
- title: Verify the texted code
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
Only reads 7Claude Code: allow
browse_directoryShow the companies, roles and industries where the user can get a warm introduction or referral through Nepternship, with the people under each.No findings
Why it is in this group
- The name "browse_directory" says "browse": a word for reading.
Description, as the server wrote it Show the companies, roles and industries where the user can get a warm introduction or referral through Nepternship, with the people under each. Use this when someone wants to see where they could network into, asks which firms or industries they could get an internship or job referral at, or is still deciding what to apply for ("which banks can I get an intro at", "what tech companies could I network into"). With no arguments it returns the overview; pass one of company_id, role_id or industry_id from a previous result to open that group. For a named company or role, use search_members.
Annotations the server declares
- title: Explore companies you can get an intro into
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
get_memberReturn one member's full profile: who they can introduce the user to (role, company and details), what they are looking for themselves, industries, locations, university, and wheth…No findings
Why it is in this group
- The name "get_member" says "get": a word for reading.
Description, as the server wrote it Return one member's full profile: who they can introduce the user to (role, company and details), what they are looking for themselves, industries, locations, university, and whether the user is already connected with them. Use this when the user wants to know more about a person from a search before asking for an introduction or referral, or asks "who is this" or "what can they help me with". Includes a card image that can be shown to the user.
Annotations the server declares
- title: See who a member can introduce you to
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
get_my_profileReturn the signed-in user's own Nepternship profile: name, university, what they are looking for, who they can introduce others to, industries, preferred locations, and intro reque…No findings
Why it is in this group
- The name "get_my_profile" says "get": a word for reading.
Description, as the server wrote it Return the signed-in user's own Nepternship profile: name, university, what they are looking for, who they can introduce others to, industries, preferred locations, and intro requests remaining. Use this when the user asks about their own profile or settings.
Annotations the server declares
- title: Get my profile
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
get_signup_linkReturn the free sign-up link for Nepternship, the network where students and recent graduates trade warm introductions and referrals to people at the companies they want to work fo…No findings
Why it is in this group
- The name "get_signup_link" says "get": a word for reading.
Description, as the server wrote it Return the free sign-up link for Nepternship, the network where students and recent graduates trade warm introductions and referrals to people at the companies they want to work for. Use this when someone wants to join, asks how to start getting intros or referrals, or when a tool returns needs_account. Applies a friend's referral code if one is given.
Annotations the server declares
- title: Join Nepternship free
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
get_upgrade_linkReturn the user's Nepternship Premium checkout link (on nepternship.com) with their price and trial length, or their manage-subscription link if they already subscribe.No findings
Why it is in this group
- The name "get_upgrade_link" says "get": a word for reading.
Description, as the server wrote it Return the user's Nepternship Premium checkout link (on nepternship.com) with their price and trial length, or their manage-subscription link if they already subscribe. Use this only when the user explicitly asks to upgrade or asks how to get more intro requests after hitting the free limit.
Annotations the server declares
- title: Get Nepternship Premium link
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
list_matchesList the user's introductions: accepted ones with an open chat (including the free weekly curated match), requests waiting on the user, and requests the user sent that have not bee…No findings
Why it is in this group
- The name "list_matches" says "list": a word for reading.
Description, as the server wrote it List the user's introductions: accepted ones with an open chat (including the free weekly curated match), requests waiting on the user, and requests the user sent that have not been answered yet. Use this for any question like "did anyone reply", "any new intros", "is anything waiting on me" or "who have I connected with". Each item includes the match_id, the other member, status, last message and unread count.
Annotations the server declares
- title: Check my introductions and replies
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
search_membersFind people who can give the user a warm introduction or referral at a specific company, team, role, industry or city, for internships, new-grad jobs and career switches.No findings
Why it is in this group
- The name "search_members" says "search": a word for reading.
Description, as the server wrote it Find people who can give the user a warm introduction or referral at a specific company, team, role, industry or city, for internships, new-grad jobs and career switches. Use this when someone asks how to get an internship or job at a company ("how do I get into Goldman Sachs", "can anyone refer me at Google", "I have no connections in investment banking"), wants to network or get a coffee chat with someone at a firm, or asks who could connect them to an analyst, engineer, recruiter or product manager there. Searches the Nepternship network of students and recent graduates across 3,000+ companies, including Goldman Sachs, JPMorgan, Google, Meta, McKinsey and Deloitte. Returns members grouped by company, role and industry, each with first name and last initial, who they can introduce the user to, and an opportunity_id for send_intro_request. If the user has no target in mind yet, use browse_directory.
Annotations the server declares
- title: Find a warm intro or referral at a company
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.0.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http nepternship https://mcp.nepternship.com/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__nepternship__search_members",
"mcp__nepternship__browse_directory",
"mcp__nepternship__get_member",
"mcp__nepternship__list_matches",
"mcp__nepternship__get_upgrade_link",
"mcp__nepternship__get_signup_link",
"mcp__nepternship__get_my_profile"
],
"ask": [
"mcp__nepternship__read_thread",
"mcp__nepternship__request_balance",
"mcp__nepternship__signup_peek",
"mcp__nepternship__sign_up",
"mcp__nepternship__finish_signup",
"mcp__nepternship__sign_in",
"mcp__nepternship__verify_code",
"mcp__nepternship__connect_account",
"mcp__nepternship__add_phone",
"mcp__nepternship__verify_phone"
],
"deny": [
"mcp__nepternship__send_message",
"mcp__nepternship__send_intro_request",
"mcp__nepternship__respond_to_request",
"mcp__nepternship__add_photo",
"mcp__nepternship__choose_first_intro"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as nepternship. Review it before you use it.
