My client has requested access to their server we have not delivered yet, due to the development of the project is still in progress. They do not have anyone on staff with technology experience. And if they brought in someone from outside their office, this person would not easily understand our stack overflow or our software. Bottom line, the integrity of the project and software is at risk, we know it but I am at a lose for words to explain this to the client. Basically looking for a short cut documentation of some sort.
I assume the hardware and software (done as work for hire) are legally theirs. If the contract does not address this situation, find a way to amend the contract or otherwise put in writing that you are not liable for any changes made to the system by anyone outside of the team that was hired to do the work (i.e. your team). Granting them read-only access might be another option.
I have also seen a consultant raise his rate when the client reveals their intention to give his work to other contractors, essentially as an early-termination penalty. Basically what you want to do now is not avoid having other people rummaging through your code, but protect yourself from any effects it may have.
It's unclear what the legal situation is here.
If you are creating some software for them and haven't finished or presumably been paid for it yet. Then I think it's a fairly understandable position to say to your client: "hang on, you don't own the code yet, if we showed it to you, you could just copy it and not pay us. Sorry we can't take the risk."
If you are providing a server as part of the contract AND using that server as your dev environment then I think you are probably in trouble. Give them a new blank server instead. Say you haven't deployed to production because it's not finished.
If you are working on a per day basis and they have paid you for work done to date, then you are going to have to show your hand.