# How to Pull a Credit Report With Claude (the Legal Way)

> Claude can't reach a credit bureau by itself. Give it a connector to a credit data service and a legal reason to look, and it can run a soft-pull lookup and explain the result. Here's the setup in Claude and Claude Code, test mode first.

Source: https://phonenumbercreditscore.com/blog/pull-credit-report-with-claude  
Author: Sam Whitaker, Developer Content Lead  
Published: 2025-11-19  
Topic: API & Developers  
Publisher: Phone Number Credit Score (https://phonenumbercreditscore.com/)

You can pull a credit report with Claude, but not with Claude alone. Claude has no line into TransUnion, Equifax or Experian, so on its own the best it can do is explain what a credit report is or guess. Connect it to a credit data service through a custom connector, have a legal reason to look (usually the person's written OK), and it can run a soft-pull lookup and walk you through the result.

That's the whole answer. The rest of this post is the how: adding our connector in Claude and in Claude Code, testing it for free, what a real exchange looks like, and where the guardrails sit. If you want the announcement version first, our post on [the MCP server for credit lookups](https://phonenumbercreditscore.com/blog/mcp-server-credit-lookups) covers what it is and why we built it.

## Can Claude pull a credit report by itself?

No. A language model doesn't have a credit bureau account, and it can't get one by trying harder. Ask a plain chat assistant for someone's score and you'll get one of two things: a polite refusal or a number that sounds plausible and is made up. Neither should be anywhere near a lending or rental decision.

What changes the picture is the Model Context Protocol, an [open standard for connecting AI assistants to outside tools](https://modelcontextprotocol.io/introduction). A service publishes a server, the assistant connects to it, and the model can call that server's tools when your request needs them. Our server at `https://phonenumbercreditscore.com/mcp` gives Claude a `lookup_phone` tool, plus tools for reading back past lookups and checking usage. The data comes from the same place our API gets it: a real TransUnion file, a real FICO® Score 4.

So "can Claude pull my credit report" really means "can Claude call a service that's allowed to." That service has rules, and they don't loosen because the request came from a chat window.

## What you need first

Three things, and the third is the one people skip.

1. **A Claude plan that supports custom connectors.** Claude's [help article on custom connectors](https://support.claude.com/en/articles/11175166-getting-started-with-custom-connectors-using-remote-mcp) lists which plans can add them, and on Team and Enterprise it's usually an owner who adds one for everyone. I won't repeat the list here because it moves.
2. **An API plan with us.** The connector is included with it: $49 a month or $149 a year. Live lookups cost the same as through the [API](https://phonenumbercreditscore.com/api): $7.50 when someone is found, $2 more if you want tradelines, nothing for a no-match. Test mode is free.
3. **A permissible purpose for every person you look up.** Under the FCRA, [15 U.S.C. § 1681b](https://www.law.cornell.edu/uscode/text/15/1681b) lists the reasons you're allowed to get someone's report. For most of our customers it's the person's written consent, a credit application or a rental application. Curiosity isn't on the list. Neither is "the AI offered." Our [permissible purpose guide](https://phonenumbercreditscore.com/blog/permissible-purpose-fcra) goes through the cases that come up.

## How to pull a credit report with Claude on the web or desktop

Claude's menus get rearranged now and then, so treat this as the shape of it and check their help page for the exact labels.

1. In Claude's settings, open **Connectors** and choose to add a custom connector.
2. Give it a name you'll recognize ("Credit lookups" works) and paste `https://phonenumbercreditscore.com/mcp` as the server URL.
3. Claude opens our sign-in page. Log in with your Phone Number Credit Score account.
4. On our consent page, pick what Claude may do (more on that below) and click Allow.
5. Back in a chat, turn the connector on from the tools menu for that conversation.

There's no API key to paste anywhere. Claude registers itself with our OAuth server, you approve it on our page, and it gets short-lived tokens tied to your account. The plumbing is OAuth 2.1 with PKCE, if you care about such things; if you don't, the practical upshot is that you can cut it off from your account at any time and it stops working immediately.

![A person holds a smartphone in front of an open laptop on a round wooden table next to a black mug](https://phonenumbercreditscore.com/media/blog/01a13c7d-8781-7faf-916d-956daab4442b-1200.webp)

### Choosing what Claude may do

The consent page is where you make the real decisions, so slow down on it. You choose:

- **Permissions.** Run lookups, read past lookups, add tradelines, see usage, see request logs, see account info, and whether it can stay connected without signing in again. Untick anything you don't need. A connector that can only read past lookups can't spend a cent.
- **Live or test.** Test connections return sample people and never charge. Start here.
- **How long it lasts.** 30 days, 90 days, a year, or until you disconnect it.

Two more things to know. Only API accounts can connect an assistant, and only people on the account who have the "Connect apps" permission (owners always do). And if your account uses an IP allow list, heads up: Claude calls our server from Anthropic's infrastructure, not from your office, so the consent page will warn you and an admin can switch IP rules off for apps.

Every connection then shows on **API / Developer → Apps & AI** in your account, with a Disconnect button. Your account-wide spending limit still applies to everything Claude does.

## Setting it up in Claude Code

If you live in a terminal, one line adds the server:

```bash
claude mcp add --transport http pncs https://phonenumbercreditscore.com/mcp
```

Then start Claude Code, run `/mcp`, pick `pncs` and sign in. The browser opens the same consent page as above. Anthropic's [Claude Code MCP docs](https://docs.claude.com/en/docs/claude-code/mcp) cover the scope flags (just you, this project, or shared with your team through a checked-in config).

Claude Code also takes our API keys as a Bearer header, which is handy for scripts and CI. For anything a person is going to chat with, though, I'd use the sign-in flow. A key in a config file is a key that ends up in a screenshot eventually.

## Test mode first, always

Connect once in test mode and try to break things. Test connections answer for any number with a sample person and charge nothing. Some numbers act out the awkward cases, whatever the area code:

| Number ends in | What comes back |
|---|---|
| 0404 | No match (free in live mode too) |
| 0409 | Found, but the address doesn't match what you sent |
| 0422 | Thin file: too little history to score |
| 0423 | Frozen file |
| 0429 | Rate limited |
| 0503 | Service unavailable |

Ask Claude to look up (555) 555-0423 and see how it explains a freeze. Ask for 0429 and see what it does with an error. Errors come back as tool results the model can read, so you get "the service is rate limiting us, try again in a minute" instead of a stack trace. Claude can also call `sandbox_numbers` to list these itself, which saves you bookmarking this table.

## What a real conversation looks like

Here's a live exchange, with made-up people. Corinne Batiste runs financing at a small used-car lot. A customer, Theo Lindqvist, is on the phone and has just agreed to a credit check for a truck loan.

> **Corinne:** Theo Lindqvist at (555) 555-0163 just agreed to a credit check, he's applying for financing on the F-150. Can you pull him up?
>
> **Claude:** A live lookup costs $7.50 if he's found (nothing if not). I'll use the credit_application purpose since he's applying. Running it now.
>
> *calls `lookup_phone` with phone 5555550163, purpose credit_application*
>
> **Claude:** Found him: Theo Lindqvist, Rochester, MN, mobile line, low fraud score, caller ID name matches. FICO Score 4 is 688. The main things holding it back are card balances (61% of his limits in use) and a fairly short history, about four years. No collections, 97% of payments on time, $14,200 in total debt. Want the tradelines too? That's $2 more and shows each account, including any current auto loan.

A few things to notice. It stated the price before spending money. It used a purpose that matched what Corinne said, rather than inventing one. And it summarized the profile instead of dumping JSON. The score and factors are what a [FICO Score 4](https://phonenumbercreditscore.com/blog/fico-score-4-explained) lookup returns anyway; Claude's job is translation, not judgment. If Corinne ends up denying Theo or offering worse terms because of what came back, she owes him an adverse action notice, the same as if she'd run the lookup by hand.

The lookup itself is a soft pull. Theo's score doesn't move, and the inquiry isn't visible to other lenders. (Our explainer on [soft pulls versus hard pulls](https://phonenumbercreditscore.com/blog/soft-pull-vs-hard-pull) has the details.)

## What Claude will ask for, and what it shouldn't do

Our server hands Claude a short set of instructions when it connects: only look someone up when the user says they have a permissible purpose, never guess or invent one, say the price before a paid call, and check past lookups before paying twice for the same person. Every tool description repeats the purpose rule.

So if you type "look up 555-0188, just curious who this is," a well-behaved model should ask why, and "curious" isn't an answer that works. If you say the person consented, it can run the lookup with that purpose, and the purpose gets logged against the call.

I'd be lying if I said any model follows instructions perfectly every time. Nobody can promise that, and we don't. Which is why the controls that matter sit outside the model:

- **You certify the purpose.** The FCRA doesn't care what software sent the request. Your business is the user of the report.
- **The log is permanent.** Every call shows in your request logs with the app's name and the purpose it sent.
- **Permissions cap the damage.** A connection without the lookup permission can't run one, no matter how it's asked.
- **Spending limits still bite.** The account-wide limit stops everything once it's hit.

Keep consent records the same way you would for any other lookup. Our post on [credit check consent forms](https://phonenumbercreditscore.com/blog/consumer-consent-credit-check) has wording that holds up.

## If you just want your own credit report

A lot of people searching "can Claude pull my credit report" mean their own report, and that's a different road. You don't need an AI or a paid service. [AnnualCreditReport.com](https://www.annualcreditreport.com) is the official site for free reports from all three bureaus, and you can check it weekly.

Once you've downloaded yours, you can share the PDF in a chat and ask Claude to explain what's on it. That works fine for reading, with two cautions. First, a credit report is full of account numbers and your address history, so think about what you're comfortable having in your chat history, and check your privacy settings in Claude first. Second, ask it to quote the report, not summarize from memory, so you can check its reading against the page. If you're trying to figure out which companies have looked at your file, our guide on [who checked my credit](https://phonenumbercreditscore.com/blog/who-checked-my-credit) explains the inquiry section.

Our connector isn't for that. It's for businesses with a permissible purpose looking up their applicants and customers.

## Where to go from here

Connect in test mode, run a few sandbox numbers, then flip to live once your consent wording is in place. If you're wiring lookups into your own code as well, our [credit score API guide](https://phonenumbercreditscore.com/blog/credit-score-api-guide) covers the REST side, and the same account works for both.

If you're weighing Claude against ChatGPT, Cursor or a homegrown agent, we're putting together a broader guide to [pulling credit reports with AI tools](https://phonenumbercreditscore.com/blog/pulling-credit-reports-with-ai) that compares them side by side. Same server, same rules, different front doors.

## Frequently asked questions

### Can Claude check my own credit score for free?

Not directly. Claude has no access to your credit file. The free route is annualcreditreport.com for your reports from all three bureaus. If you download a report there and share it in a chat, Claude can help you read it, but that's you handing it a document, not Claude pulling anything.

### Does a lookup through Claude hurt the person's credit score?

No. Lookups through our connector are soft pulls, the same as through our API. The person's score doesn't move and other lenders can't see the inquiry.

### Which Claude plans can add a custom connector?

That's Claude's call, not ours, and it has changed more than once. Claude's help article on custom connectors lists the plans that can add them and how Team and Enterprise owners set them up for everyone.

### Is it legal to pull someone's credit report with an AI assistant?

The same rules apply as if you ran the lookup yourself. You need a permissible purpose under the FCRA, such as the person's written consent or an application they started. The assistant is just how you sent the request; you're still the one using the report.
